{-# 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 :: Actions events = [ (ActionType A.Previous, Stateful previous) , (ActionType A.Next, Stateful next) , (ActionType A.Detail, (Stateful showDetail Stateful -> Maybe State -> Maybe State forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b =<<) (Maybe State -> Maybe State) -> Stateful -> Stateful forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . Stateful goto) , (ActionType A.ClearDate, (Stateful write Stateful -> Maybe State -> Maybe State forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b =<<) (Maybe State -> Maybe State) -> Stateful -> Stateful forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . (Stateful clearDate Stateful -> Maybe State -> Maybe State forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b =<<) (Maybe State -> Maybe State) -> Stateful -> Stateful forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . Stateful store) ] event :: Event -> Stateful event :: Event -> Stateful event (EvKey Key _ [Modifier] _) = Stateful normalMode event Event _ = Stateful forall (f :: * -> *) a. Applicative f => a -> f a pure