{-# LANGUAGE OverloadedLabels #-} module WikiMusic.SSR.View.Components.DetailList where import Principium import Text.Blaze.Html5 as H detailListEntry' :: ViewVars -> Bool -> Text -> Html -> Html detailListEntry' :: ViewVars -> Bool -> Text -> Html -> Html detailListEntry' ViewVars vv Bool isMono Text key Html val = Html -> Html H.div (Html -> Html) -> Attribute -> Html -> Html forall h. Attributable h => h -> Attribute -> h ! [Text] -> Attribute css' [ Text "flex", Text "flex-row", Text "gap-4", Text "w-fit", Text "font-mono" ] (Html -> Html) -> Html -> Html forall a b. (a -> b) -> a -> b $ do (Html -> Html dt (Html -> Html) -> Attribute -> Html -> Html forall h. Attributable h => h -> Attribute -> h ! [Text] -> Attribute css' [Text "text-sm", Text "font-bold", if ViewVars vv ViewVars -> Optic' A_Lens NoIx ViewVars Text -> Text forall k s (is :: IxList) a. Is k A_Getter => s -> Optic' k is s a -> a ^. Optic A_Lens NoIx ViewVars ViewVars UiMode UiMode #uiMode Optic A_Lens NoIx ViewVars ViewVars UiMode UiMode -> Optic An_Iso NoIx UiMode UiMode Text Text -> Optic' A_Lens NoIx ViewVars Text forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a b. (JoinKinds k l m, AppendIndices is js ks) => Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b % Optic An_Iso NoIx UiMode UiMode Text Text #value Text -> Text -> Bool forall a. Eq a => a -> a -> Bool == Text "dark" then Text "text-stone-300" else Text "text-stone-700"]) (Html -> Html) -> (Text -> Html) -> Text -> Html forall b c a. (b -> c) -> (a -> b) -> a -> c . Text -> Html text (Text -> Html) -> Text -> Html forall a b. (a -> b) -> a -> b $ Text key Html -> Html dd (Html -> Html) -> Attribute -> Html -> Html forall h. Attributable h => h -> Attribute -> h ! [Text] -> Attribute css' [Text "text-sm", Text "break-all", if ViewVars vv ViewVars -> Optic' A_Lens NoIx ViewVars Text -> Text forall k s (is :: IxList) a. Is k A_Getter => s -> Optic' k is s a -> a ^. Optic A_Lens NoIx ViewVars ViewVars UiMode UiMode #uiMode Optic A_Lens NoIx ViewVars ViewVars UiMode UiMode -> Optic An_Iso NoIx UiMode UiMode Text Text -> Optic' A_Lens NoIx ViewVars Text forall k l m (is :: IxList) (js :: IxList) (ks :: IxList) s t u v a b. (JoinKinds k l m, AppendIndices is js ks) => Optic k is s t u v -> Optic l js u v a b -> Optic m ks s t a b % Optic An_Iso NoIx UiMode UiMode Text Text #value Text -> Text -> Bool forall a. Eq a => a -> a -> Bool == Text "dark" then Text "text-gray-300" else Text "text-gray-700", if Bool isMono then Text "font-mono" else Text "font-mono"] (Html -> Html) -> Html -> Html forall a b. (a -> b) -> a -> b $ Html val detailListEntry :: ViewVars -> Text -> Html -> Html detailListEntry :: ViewVars -> Text -> Html -> Html detailListEntry ViewVars vv = ViewVars -> Bool -> Text -> Html -> Html detailListEntry' ViewVars vv Bool False monoDetailListEntry :: ViewVars -> Text -> Html -> Html monoDetailListEntry :: ViewVars -> Text -> Html -> Html monoDetailListEntry ViewVars vv = ViewVars -> Bool -> Text -> Html -> Html detailListEntry' ViewVars vv Bool True detailList :: Html -> Html detailList :: Html -> Html detailList = Html -> Html dl (Html -> Html) -> Attribute -> Html -> Html forall h. Attributable h => h -> Attribute -> h ! [Text] -> Attribute css' [Text "flex", Text "flex-col", Text "gap-2", Text "justify-start"]