module IHP.AutoRefresh.View where

import IHP.Prelude
import IHP.AutoRefresh.Types
import IHP.HSX.QQ (hsx)
import qualified Text.Blaze.Html5 as Html5
import IHP.Controller.Context
import IHP.AutoRefresh (autoRefreshStateVaultKey)
import qualified Data.Vault.Lazy as Vault
import Network.Wai (vault)

autoRefreshMeta :: (?context :: ControllerContext) => Html5.Html
autoRefreshMeta :: (?context::ControllerContext) => Html
autoRefreshMeta =
    case Key AutoRefreshState -> Vault -> Maybe AutoRefreshState
forall a. Key a -> Vault -> Maybe a
Vault.lookup Key AutoRefreshState
autoRefreshStateVaultKey ?context::ControllerContext
ControllerContext
?context.request.vault of
        Just (AutoRefreshEnabled { UUID
sessionId :: UUID
sessionId :: AutoRefreshState -> UUID
sessionId }) -> [hsx|<meta property="ihp-auto-refresh-id" content={tshow sessionId}/>|]
        Maybe AutoRefreshState
_ -> Html
forall a. Monoid a => a
mempty