gonito/Handler/Home.hs

35 lines
1.1 KiB
Haskell

module Handler.Home where
import Import
import Handler.Shared
import Handler.ListChallenges
-- This is a handler function for the GET request method on the HomeR
-- resource pattern. All of your resource patterns are defined in
-- config/routes
--
-- The majority of the code you will write in Yesod lives in these handler
-- functions. You can spread them across multiple files if you are so
-- inclined, or create a single monolithic file.
getHomeR :: Handler Html
getHomeR = do
maybeUser <- maybeAuth
master <- getYesod
starredChallenges <- runDB $ selectList [ChallengeStarred ==. Just True] [Asc ChallengeStarred, Desc ChallengeStamp]
let maybeLocalId = case maybeUser of
Just user -> userLocalId $ entityVal user
Nothing -> Nothing
if maybe False ((\u -> isNothing (userLocalId u) && isNothing (userName u)) . entityVal) maybeUser
then
do
setMessage $ toHtml ("First, set up your name and/or ID!" :: Text)
redirect $ YourAccountR
else
defaultLayout $ do
aDomId <- newIdent
setTitle "Welcome To Gonito.net!"
$(widgetFile "homepage")