packages feed

bamboo-2009.6.6: src/Bamboo/View/Control/Post.hs

{-# LANGUAGE NoImplicitPrelude #-}
module Bamboo.View.Control.Post where

-- env
import Bamboo.Helper.StateHelper
import Bamboo.Model.Post
import Bamboo.Type.State hiding (uid)
import Bamboo.View.Atom.Post
import Bamboo.View.Control.Helper
import Bamboo.View.Env hiding (p)
import Bamboo.View.Widget.Template
import qualified Bamboo.Model.Comment as Comment
import qualified Bamboo.Type as C
import qualified Bamboo.View.Control.Comment as CommentV


-- entry view
view :: Widget
view s = (x.render +++ comment_view ).page s
  where
    x = s.posts.first
    render = entry s
    xs = s.comments
    comment_view = html_only_for Comment $ 
      CommentV.list xs 
      +++ CommentV.create s (x.uid.Comment.from_post_id)

-- list view
list :: Widget
list s = s.posts.(map render > (+++ nav p (s.config.root)) > page s)
  where 
    p = s.pager
    render = entry s