{-# LANGUAGE QuasiQuotes, OverloadedStrings #-} module Clckwrks.Media.Page.AllMedia where import Control.Applicative ((<$>)) import Control.Monad.Reader (ask) import Clckwrks (ClckURL(..), query) import Clckwrks.Admin.Template (template) import Clckwrks.Media.Acid (AllMediumIds(..)) import Clckwrks.Media.Types (MediumId(..)) import Clckwrks.Media.Monad (MediaM) import Clckwrks.Media.URL (MediaURL(..)) import Data.String (fromString) import Data.Text.Lazy (Text) import Happstack.Server (Response, asContentType, notFound, serveFile, toResponse) import HSP.XML (XML, fromStringLit) import HSP.XMLGenerator import Language.Haskell.HSX.QQ (hsx) allMedia :: MediaM Response allMedia = do mediumIds <- query AllMediumIds template "all media" [hsx| |] $ mkGallery mediumIds mkGallery :: [MediumId] -> XMLGenT MediaM XML mkGallery mediumIds = [hsx| |] mkPreview :: MediumId -> XMLGenT MediaM XML mkPreview mid = [hsx|
  • |]