{-# LANGUAGE OverloadedLabels #-}
module WikiMusic.SSR.View.Components.Footer
( simpleFooter,
bodyWithFooter,
)
where
import Principium
import Text.Blaze.Html5 as H
import Text.Blaze.Html5.Attributes as A
simpleFooter :: ViewVars -> Html
ViewVars
vv = Html -> Html
H.footer (Html -> Html) -> Attribute -> Html -> Html
forall h. Attributable h => h -> Attribute -> h
! [Text] -> Attribute
css' [Text
"flex", Text
"flex-col", Text
"justify-center", Text
"gap-4", Text
"align-center", Text
"text-center", Text
"py-6", Text
"font-mono"] (Html -> Html) -> Html -> Html
forall a b. (a -> b) -> a -> b
$ do
(Html -> Html
small (Html -> Html) -> Attribute -> Html -> Html
forall h. Attributable h => h -> Attribute -> h
! [Text] -> Attribute
css' [Text
"italic", 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-400" else Text
"text-gray-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
$ ((ApplicationDictionary
-> Optic' A_Lens NoIx ApplicationDictionary DictTerm -> DictTerm
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic
A_Lens NoIx ApplicationDictionary ApplicationDictionary More More
#more Optic
A_Lens NoIx ApplicationDictionary ApplicationDictionary More More
-> Optic A_Lens NoIx More More DictTerm DictTerm
-> Optic' A_Lens NoIx ApplicationDictionary DictTerm
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 A_Lens NoIx More More DictTerm DictTerm
#copyright0) (ApplicationDictionary -> DictTerm) -> Language -> Text
|##| (ViewVars
vv ViewVars -> Optic' A_Lens NoIx ViewVars Language -> Language
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx ViewVars Language
#language))
Html -> Html
a
(Html -> Html) -> Attribute -> Html -> Html
forall h. Attributable h => h -> Attribute -> h
! Set Text -> Attribute
css (ViewVars -> Set Text
cssLink ViewVars
vv)
(Html -> Html) -> Attribute -> Html -> Html
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
href AttributeValue
"https://github.com/jjba23/wikimusic-ssr"
(Html -> Html) -> Html -> Html
forall a b. (a -> b) -> a -> b
$ Html -> Html
small
(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
$ ((ApplicationDictionary
-> Optic' A_Lens NoIx ApplicationDictionary DictTerm -> DictTerm
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic
A_Lens NoIx ApplicationDictionary ApplicationDictionary More More
#more Optic
A_Lens NoIx ApplicationDictionary ApplicationDictionary More More
-> Optic A_Lens NoIx More More DictTerm DictTerm
-> Optic' A_Lens NoIx ApplicationDictionary DictTerm
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 A_Lens NoIx More More DictTerm DictTerm
#copyright1) (ApplicationDictionary -> DictTerm) -> Language -> Text
|##| (ViewVars
vv ViewVars -> Optic' A_Lens NoIx ViewVars Language -> Language
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx ViewVars Language
#language))
(Html -> Html
small (Html -> Html) -> Attribute -> Html -> Html
forall h. Attributable h => h -> Attribute -> h
! [Text] -> Attribute
css' [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-400" else Text
"text-gray-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
$ ((ApplicationDictionary
-> Optic' A_Lens NoIx ApplicationDictionary DictTerm -> DictTerm
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic
A_Lens NoIx ApplicationDictionary ApplicationDictionary More More
#more Optic
A_Lens NoIx ApplicationDictionary ApplicationDictionary More More
-> Optic A_Lens NoIx More More DictTerm DictTerm
-> Optic' A_Lens NoIx ApplicationDictionary DictTerm
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 A_Lens NoIx More More DictTerm DictTerm
#copyright2) (ApplicationDictionary -> DictTerm) -> Language -> Text
|##| (ViewVars
vv ViewVars -> Optic' A_Lens NoIx ViewVars Language -> Language
forall k s (is :: IxList) a.
Is k A_Getter =>
s -> Optic' k is s a -> a
^. Optic' A_Lens NoIx ViewVars Language
#language))
bodyWithFooter :: ViewVars -> Html -> Html
bodyWithFooter :: ViewVars -> Html -> Html
bodyWithFooter ViewVars
vv Html
x = do
Html -> Html
body (Html -> Html) -> Attribute -> Html -> Html
forall h. Attributable h => h -> Attribute -> h
! [Text] -> Attribute
css' [Text
"bg-gradient-to-br", Text
"from-" Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> 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 Palette Palette
#palette Optic A_Lens NoIx ViewVars ViewVars Palette Palette
-> Optic An_Iso NoIx Palette Palette 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 Palette Palette Text Text
#value Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"-200", Text
"to-" Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> 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 Palette Palette
#palette Optic A_Lens NoIx ViewVars ViewVars Palette Palette
-> Optic An_Iso NoIx Palette Palette 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 Palette Palette Text Text
#value Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"-300"] (Html -> Html) -> Html -> Html
forall a b. (a -> b) -> a -> b
$ do
Html -> Html
H.div (Html -> Html) -> Attribute -> Html -> Html
forall h. Attributable h => h -> Attribute -> h
! [Text] -> Attribute
css' [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
"bg-black/90" else Text
"bg-white/80", Text
"h-auto"] (Html -> Html) -> Html -> Html
forall a b. (a -> b) -> a -> b
$ do
()
_ <- Html
x
Html
hr
ViewVars -> Html
simpleFooter ViewVars
vv