module Web.View.Widgets.Index where import Web.Types import Generated.Types import IHP.Prelude import IHP.ViewPrelude import Web.Routes () data IndexView = IndexView { widgets :: ![Widget] , hubs :: ![Hub] } instance View IndexView where html IndexView { .. } = [hsx|

Widgets

Register Widget
{forEach widgets (renderWidget hubs)}
Name Hub Type Status Version
|] renderWidget :: [Hub] -> Widget -> Html renderWidget hubs w = [hsx| {w.name} {hubName hubs w.hubId} {w.widgetType} {w.status} v{show w.version} Edit |] hubName :: [Hub] -> Id Hub -> Text hubName hubs hubId = case find (\h -> h.id == hubId) hubs of Just h -> h.name Nothing -> "—"