1 {-# LANGUAGE OverloadedStrings #-} 2 module Databrary.View.Root 3 ( htmlRoot 4 , htmlDown 5 ) where 6 7 import qualified Data.Text as T 8 import qualified Text.Blaze.Html5 as H 9 10 import Databrary.Has (view) 11 import Databrary.Model.Identity 12 import Databrary.Action.Types 13 import Databrary.Action.Route 14 import Databrary.Controller.Paths 15 import Databrary.Controller.Login 16 import Databrary.Controller.Volume 17 import Databrary.Controller.Party 18 -- import Databrary.Controller.Activity 19 import Databrary.View.Template 20 import Databrary.View.Html 21 22 htmlRoot :: RequestContext -> H.Html 23 htmlRoot req = htmlTemplate req Nothing $ \js -> do 24 H.ul $ do 25 H.li $ extractFromIdentifiedSessOrDefault 26 (H.a H.! actionLink viewLogin () js $ "login") 27 (\_ -> H.a H.! actionLink viewParty (HTML, TargetProfile) js $ "profile") 28 (view req) 29 -- H.li $ H.a H.! actionLink viewSiteActivity HTML js $ "activity" 30 H.li $ H.a H.! actionLink queryVolumes HTML js $ "volumes" 31 H.li $ H.a H.! actionLink queryParties HTML js $ "parties" 32 return () 33 34 htmlDown :: T.Text -> RequestContext -> H.Html 35 htmlDown msg req = htmlTemplate req (Just "Status") $ \_ -> do 36 H.div $ do 37 H.p $ H.preEscapedText msg 38 H.p "Many services are unavailable, including all file uploads and downloads. Minimal account and authorization management is available." 39 return ()