Merge pull request 'Minimal Footer' (#28) from addFooter into main

Reviewed-on: #28
This commit is contained in:
Etienne Werly 2023-07-08 00:55:20 +01:00
commit 18c5deda11
5 changed files with 67 additions and 5 deletions

View file

@ -30,7 +30,9 @@ library
Kit.Atoms.Button
Kit.Atoms.ButtonLink
Kit.Atoms.Container
Kit.Atoms.Flex
Kit.Atoms.Fonts
Kit.Atoms.Footer
Kit.Atoms.FullScreenModal
Kit.Atoms.Hamburger
Kit.Atoms.Header
@ -56,6 +58,7 @@ library
Kit.Molecules.SmallProfilePic
Kit.Molecules.Tag
Kit.Organisms.Card
Kit.Organisms.DefaultFooter
Kit.Organisms.Head
Kit.Organisms.ProfileHeader
Kit.Organisms.TopMenu

20
src/Kit/Atoms/Flex.hs Normal file
View file

@ -0,0 +1,20 @@
module Kit.Atoms.Flex
( flex'
) where
import Clay as C
import Components
import Kit.Atoms.BreakpointQueries
import Text.Blaze.Html5 as H
import Text.Blaze.Html5.Attributes as A
flex' :: Component (Html -> Html)
flex' = do
addCss css
return $ H.div H.! class_ "responsive-flex"
where
css = C.div # byClass "responsive-flex" ? do
display flex
flexDirection column
justifyContent spaceBetween
breakpointM $ flexDirection row

17
src/Kit/Atoms/Footer.hs Normal file
View file

@ -0,0 +1,17 @@
module Kit.Atoms.Footer
( footer'
) where
import Clay as C
import Components
import Kit.Constants.Colors
import Text.Blaze.Html5 as H
footer' :: Component (Html -> Html)
footer' = do
addCss css
return H.footer
where
css = C.footer ? do
backgroundColor $ secondary @ 25
color $ grays @ 90

View file

@ -0,0 +1,20 @@
module Kit.Organisms.DefaultFooter
( defaultFooter
) where
import Components
import Kit.Atoms.Container
import Kit.Atoms.Flex
import Kit.Atoms.Footer
import Kit.Atoms.Link
import Text.Blaze.Html5 as H
defaultFooter :: Component Html
defaultFooter = footer' <.> container <.> flex' <*> mconcat
[ pure $ p "Copyright Etienne Werly 2023"
, H.p
<$> ( a' "https://git.moqueur.chat/etienne/etienne-moqueur"
<*> pure "Source Code"
)
, pure $ p "A flat file CMS written in Haskell"
]

View file

@ -10,6 +10,7 @@ import Kit.Atoms.Section
import Kit.Molecules.Bricklayer
import Kit.Molecules.Tag
import Kit.Organisms.Card
import Kit.Organisms.DefaultFooter
import Kit.Organisms.Head
import Kit.Organisms.ProfileHeader
import Routes
@ -26,11 +27,12 @@ dummy = PostProp { postRoute = "$url$"
}
indexBody :: Component Html
indexBody =
profileHeader
<> (section' <.> bricklayer <*> mconcat
[pure "$for(pages)$", blogCard dummy, pure "$endfor$"]
)
indexBody = mconcat
[ profileHeader
, section' <.> bricklayer <*> mconcat
[pure "$for(pages)$", blogCard dummy, pure "$endfor$"]
, defaultFooter
]
indexCtx :: Tags -> [Item String] -> Context String
indexCtx tags pages = listField