module Web.View.FederatedPolicyOverlays.Index where import Web.Types import Generated.Types import IHP.Prelude import IHP.ViewPrelude data IndexView = IndexView { overlays :: ![FederatedPolicyOverlay] , hubs :: ![Hub] } instance View IndexView where html IndexView { .. } = [hsx|

Federated Policy Overlays

Compliance Dashboard New Overlay
{if null overlays then [hsx|

No policy overlays yet.

|] else [hsx|
{forEach overlays renderRow}
Title Status Enforced From Created
|]} |] where renderRow :: FederatedPolicyOverlay -> Html renderRow o = [hsx| {o.title} " text-xs px-2 py-0.5 rounded font-medium"}> {o.status} {maybe "–" show o.enforcedFrom} {show o.createdAt} View |] statusBadge :: Text -> Text statusBadge s = case s of "draft" -> "bg-gray-100 text-gray-600" "active" -> "bg-green-100 text-green-700" "retired" -> "bg-red-100 text-red-600" _ -> "bg-gray-100 text-gray-600"