From 2c77053bbed8893af83a237f1736fb2f4137b780 Mon Sep 17 00:00:00 2001 From: Jonathan Lamothe Date: Fri, 23 Aug 2019 10:04:33 -0400 Subject: [PATCH] refactored handleEvent and draw --- src/Mtlstats/Events.hs | 17 +++++++++-------- src/Mtlstats/UI.hs | 6 +++--- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/Mtlstats/Events.hs b/src/Mtlstats/Events.hs index c77ef77..bebbc02 100644 --- a/src/Mtlstats/Events.hs +++ b/src/Mtlstats/Events.hs @@ -19,6 +19,8 @@ along with this program. If not, see . -} +{-# LANGUAGE LambdaCase #-} + module Mtlstats.Events (handleEvent) where import Control.Monad.Trans.State (gets, modify) @@ -35,11 +37,10 @@ handleEvent :: C.Event -- ^ The event being handled -> Action Bool -handleEvent e = do - m <- gets $ view progMode - case m of - MainMenu -> menuHandler mainMenu e - NewSeason -> menuHandler newSeasonMenu e >> return True - NewGame gs -> if null $ gs ^. gameType - then menuHandler gameTypeMenu e >> return True - else undefined +handleEvent e = gets (view progMode) >>= \case + MainMenu -> menuHandler mainMenu e + NewSeason -> menuHandler newSeasonMenu e >> return True + NewGame gs + | null $ gs ^. gameType -> + menuHandler gameTypeMenu e >> return True + | otherwise -> undefined diff --git a/src/Mtlstats/UI.hs b/src/Mtlstats/UI.hs index 56cf86a..c73962d 100644 --- a/src/Mtlstats/UI.hs +++ b/src/Mtlstats/UI.hs @@ -36,7 +36,7 @@ draw s = do case s ^. progMode of MainMenu -> drawMenu mainMenu NewSeason -> drawMenu newSeasonMenu - NewGame gs -> if null $ gs ^. gameType - then drawMenu gameTypeMenu - else undefined + NewGame gs + | null $ gs ^. gameType -> drawMenu gameTypeMenu + | otherwise ->undefined C.render