From 0fe906ae7453aa684e998bbcc7a78b62d84f0206 Mon Sep 17 00:00:00 2001 From: Joris Guyonvarch Date: Sun, 6 Apr 2014 22:55:16 +0200 Subject: Show resume and projects from a configuration file --- src/View/Header.hs | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/View/Header.hs (limited to 'src/View/Header.hs') diff --git a/src/View/Header.hs b/src/View/Header.hs new file mode 100644 index 0000000..a29b9a3 --- /dev/null +++ b/src/View/Header.hs @@ -0,0 +1,42 @@ +{-# LANGUAGE OverloadedStrings #-} + +module View.Header + ( renderHeader + ) where + +import Control.Monad (forM_) + +import Data.String (fromString) + +import Text.Blaze.Html +import Text.Blaze.Html5 +import Text.Blaze.Html5.Attributes +import qualified Text.Blaze.Html5 as H + +import Model.Header +import Model.Translation.Language +import Model.Translation.Message + +renderHeader :: Language -> Maybe Header -> Html +renderHeader language mbCurrentHeader = + H.div ! class_ "header" $ + ul $ + forM_ allHeaders (headerItem language mbCurrentHeader) + +headerItem :: Language -> Maybe Header -> Header -> Html +headerItem language mbCurrentHeader pageHeader = + li $ a + ! class_ (fromString $ (headerClass pageHeader) ++ " " ++ (if mbCurrentHeader == Just pageHeader then "currentHeader" else "")) + ! href (fromString . headerLink $ pageHeader) $ do + i ! class_ (fromString $ "fa fa-lg " ++ (headerIcon pageHeader)) $ "" + H.span + ! class_ "text" + $ fromString (getMessage (headerKey pageHeader) language) + +headerClass :: Header -> String +headerClass Resume = "resume" +headerClass Projects = "projects" + +headerIcon :: Header -> String +headerIcon Resume = "fa-user" +headerIcon Projects = "fa-flask" -- cgit v1.2.3