1 {-# LANGUAGE OverloadedStrings #-} 2 module 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 Has (view) 11 import Model.Identity 12 import Action.Types 13 import Action.Route 14 import Controller.Paths 15 import Controller.Login 16 import Controller.Volume 17 import Controller.Party 18 -- import Controller.Activity 19 import View.Template 20 import 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 ()