taskell-1.7.0.0: src/Events/Actions/Modal.hs
{-# LANGUAGE NoImplicitPrelude #-}
module Events.Actions.Modal
( event
) where
import ClassyPrelude
import Control.Lens ((^.))
import Events.State.Types (Stateful, mode)
import Events.State.Types.Mode (ModalType (..), Mode (Modal))
import Graphics.Vty.Input.Events
import qualified Events.Actions.Modal.Detail as Detail
import qualified Events.Actions.Modal.Due as Due
import qualified Events.Actions.Modal.Help as Help
import qualified Events.Actions.Modal.MoveTo as MoveTo
event :: Event -> Stateful
event e s =
case s ^. mode of
Modal Help -> Help.event e s
Modal Detail {} -> Detail.event e s
Modal MoveTo -> MoveTo.event e s
Modal Due {} -> Due.event e s
_ -> pure s