packages feed

antagonist-0.1.0.25: ironforge-yesod.hs

{-# LANGUAGE QuasiQuotes, TemplateHaskell, TypeFamilies, MultiParamTypeClasses #-}

import Game.Antisplice.Dungeon.Ironforge
import Web.Antagonist.Server
import Data.Chatty.AVL
import Data.IORef
import Text.Hamlet
import Yesod

data Master = Master { getSingleUserSub :: SingleUserSub }

mkYesod "Master" [parseRoutes|
/ HomeR GET
/su SubsiteR SingleUserSub getSingleUserSub
|]

instance Yesod Master
instance YesodAntagonist Master
instance RenderMessage Master FormMessage where
  renderMessage _ _ = defaultFormMessage

getHomeR :: HandlerT Master IO Html
getHomeR = defaultLayout $ do
  setTitle $ toHtml "Antisplice-Web"
  toWidget $ $(hamletFile "home.htm")

main = do
  ctrref <- newIORef 0
  avlref <- newIORef EmptyAVL
  warp 3000 $ Master $ SingleUserSub ctrref avlref ironforge