packages feed

lucienne-0.0.1: Lucienne/View/FeedItem.hs

module Lucienne.View.FeedItem
  (feedItem)
where
  
import qualified Text.Blaze.Html4.Strict as H
import           Lucienne.View.Common (template,stringHtml,preescapedStringHtml,symbol)
import qualified Lucienne.View.Link as L
import           Lucienne.Model.FeedItem (FeedItem)
import qualified Lucienne.Model.FeedItem as FI

feedItem :: FeedItem -> H.Html
feedItem item = 
  template (FI.title item) [] [] $ do
    H.table $ do
      H.tr $ H.td $ feedItemSymbols item
      H.tr $ H.td $ H.strong $ stringHtml $ FI.title item
      H.tr $ H.td $ H.small  $ stringHtml $ show $ FI.dateFetched item
      H.tr $ H.td $ L.toFeedItemUrl item $ stringHtml $ FI.url item
    H.p $ preescapedStringHtml $ FI.content item
    H.hr
    H.p $ feedItemSymbols item

feedItemSymbols :: FeedItem -> H.Html
feedItemSymbols item = do
  L.toFeed'            item $ symbol "↶"
  symbol " "
  L.toDoDeleteFeedItem item $ symbol "✗"    
  symbol " "
  L.toFeedItemUrl      item $ symbol "↗"