packages feed

wikimusic-ssr-1.0.1.6: src/WikiMusic/SSR/View/Components/DetailList.hs

{-# LANGUAGE OverloadedLabels #-}

module WikiMusic.SSR.View.Components.DetailList where

import Principium
import Text.Blaze.Html5 as H

detailListEntry' :: ViewVars -> Bool -> Text -> Html -> Html
detailListEntry' vv isMono key val =
  H.div
    ! css'
      [ "flex",
        "flex-row",
        "gap-4",
        "w-fit",
        "font-mono"
      ]
    $ do
      (dt ! css' ["text-sm", "font-bold", if vv ^. #uiMode % #value == "dark" then "text-stone-300" else "text-stone-700"]) . text $ key
      dd ! css' ["text-sm", "break-all", if vv ^. #uiMode % #value == "dark" then "text-gray-300" else "text-gray-700", if isMono then "font-mono" else "font-mono"] $ val

detailListEntry :: ViewVars -> Text -> Html -> Html
detailListEntry vv = detailListEntry' vv False

monoDetailListEntry :: ViewVars -> Text -> Html -> Html
monoDetailListEntry vv = detailListEntry' vv True

detailList :: Html -> Html
detailList = dl ! css' ["flex", "flex-col", "gap-2", "justify-start"]