module Web.View.FederatedPolicyOverlays.Show where import Web.Types import Generated.Types import IHP.Prelude import IHP.ViewPrelude import Web.Routes () import Web.View.FederatedPolicyOverlays.Index (statusBadge) data ShowView = ShowView { overlay :: !FederatedPolicyOverlay , hubs :: ![Hub] } instance View ShowView where html ShowView { .. } = [hsx|
Policies /

{overlay.title}

" text-sm px-2 py-0.5 rounded font-medium"}> {overlay.status}

Policy Text

{overlay.policyText}
Enforced From
{maybe "–" show overlay.enforcedFrom}
Created
{show overlay.createdAt}
{maybe mempty renderOverlayNotes overlay.notes}
{if overlay.status == "draft" then renderDraftActions overlay.id else mempty} {if overlay.status == "active" then renderRetireAction overlay.id else mempty}
|] renderDraftActions :: Id FederatedPolicyOverlay -> Html renderDraftActions oid = [hsx| Edit Activate |] renderRetireAction :: Id FederatedPolicyOverlay -> Html renderRetireAction oid = [hsx| Retire |] renderOverlayNotes :: Text -> Html renderOverlayNotes n = [hsx|
Notes
{n}
|]