module IHP.AutoRefresh.View where

import IHP.Prelude
import IHP.AutoRefresh.Types
import IHP.HSX.MarkupQQ (hsx)
import IHP.HSX.Markup (Html)
import IHP.Controller.Context
import IHP.AutoRefresh (autoRefreshStateVaultKey)
import qualified Data.Vault.Lazy as Vault
import Network.Wai (Request, vault)

autoRefreshMeta :: (?context :: ControllerContext, ?request :: Request) => Html
autoRefreshMeta :: (?context::ControllerContext, ?request::Request) => Html
autoRefreshMeta =
    case Key AutoRefreshState -> Vault -> Maybe AutoRefreshState
forall a. Key a -> Vault -> Maybe a
Vault.lookup Key AutoRefreshState
autoRefreshStateVaultKey ?request::Request
Request
?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