module Happstack.Helpers.HtmlOutput.Menu where
import Happstack.Server.HTTP.Types
import Text.StringTemplate.Helpers
import Happstack.Helpers.HtmlOutput.Common
menuLink :: Request -> (String, String) -> String
menuLink = menuLink' "menuitemSelected" "menuitem"
menuLink' :: String -> String -> Request -> (String, String) -> String
menuLink' classSelected classUnselected rq (url,anchortext) =
render1 [("url",url),("anchortext",anchortext),("classSelected",classSelected),("classUnselected",classUnselected)] $
if currUrl == url
then "<a class=$classSelected$ href=\"$url$\">$anchortext$</a>"
else if null url
then "<font color=gray>$anchortext$</font>"
else "<a class=\"$classUnselected$\" href=\"$url$\">$anchortext$</a>"
where currUrl = rqURL rq
vMenuOL :: Request -> [(String, String)] -> String
vMenuOL rq = paintVOL . map (menuLink rq )
vMenuUL :: Request -> [(String, String)] -> String
vMenuUL rq = paintVUL . map (menuLink rq )
hMenuBars :: Request -> [(String, String)] -> String
hMenuBars rq = paintHBars . map (menuLink rq)