taskell-1.9.3.0: src/Taskell/Events/Actions/Modal/Due.hs
{-# LANGUAGE OverloadedLists #-}
module Taskell.Events.Actions.Modal.Due
( event
, events
) where
import ClassyPrelude
import Graphics.Vty.Input.Events (Event (EvKey))
import Taskell.Events.Actions.Types as A (ActionType (..))
import Taskell.Events.State (normalMode, store, write)
import Taskell.Events.State.Modal.Detail (showDetail)
import Taskell.Events.State.Modal.Due (clearDate, goto, next, previous)
import Taskell.Events.State.Types (Stateful)
import Taskell.IO.Keyboard.Types (Actions)
events :: Actions
events =
[ (A.Previous, previous)
, (A.Next, next)
, (A.Detail, (showDetail =<<) . goto)
, (A.ClearDate, (write =<<) . (clearDate =<<) . store)
]
event :: Event -> Stateful
event (EvKey _ _) = normalMode
event _ = pure