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 ()