packages feed

bamboo-2009.6.6: src/Bamboo/View/Widget/Template.hs

{-# LANGUAGE NoMonomorphismRestriction#-}
{-# LANGUAGE NoImplicitPrelude #-}
module Bamboo.View.Widget.Template (page) where

import Bamboo.View.Widget.Head
import Bamboo.View.Widget.Body
import Bamboo.View.Widget.Header
import Bamboo.View.Widget.Navigation
import Bamboo.View.Widget.Sidebar
import Bamboo.View.Widget.Footer
import qualified Text.XHtml.Strict as Html
import qualified Bamboo.Type.Theme as T

import Bamboo.View.Env hiding (header, body)

-- extension
import Bamboo.Helper.StateHelper (html_only_for)
import Web.HCheat

body :: Container
body s x = Html.body << 
  [ div_class (t.T.container) << 
    [ header s
    , navigation s
    , div_id "page" 
      << [ div_class (t.T.main) << body_content x, sidebar s ]
    , footer s 
    ]
  , html_only_for Analytics $ primHtml (analytics $ s.config.analytics_account_id)
  ]
  where t = s.config.theme

page :: Container
page s x = [html_head s, body s x] .toHtml