module Matterhorn.Events.PostListOverlay where
import Prelude ()
import Matterhorn.Prelude
import qualified Graphics.Vty as Vty
import Matterhorn.Types
import Matterhorn.Events.Keybindings
import Matterhorn.State.PostListOverlay
onEventPostListOverlay :: Vty.Event -> MH ()
onEventPostListOverlay :: Event -> MH ()
onEventPostListOverlay =
MH Bool -> MH ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (MH Bool -> MH ()) -> (Event -> MH Bool) -> Event -> MH ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (KeyConfig -> KeyHandlerMap)
-> (Event -> MH ()) -> Event -> MH Bool
handleKeyboardEvent KeyConfig -> KeyHandlerMap
postListOverlayKeybindings (MH () -> Event -> MH ()
forall a b. a -> b -> a
const (MH () -> Event -> MH ()) -> MH () -> Event -> MH ()
forall a b. (a -> b) -> a -> b
$ () -> MH ()
forall (m :: * -> *) a. Monad m => a -> m a
return ())
postListOverlayKeybindings :: KeyConfig -> KeyHandlerMap
postListOverlayKeybindings :: KeyConfig -> KeyHandlerMap
postListOverlayKeybindings = [KeyEventHandler] -> KeyConfig -> KeyHandlerMap
mkKeybindings [KeyEventHandler]
postListOverlayKeyHandlers
postListOverlayKeyHandlers :: [KeyEventHandler]
postListOverlayKeyHandlers :: [KeyEventHandler]
postListOverlayKeyHandlers =
[ KeyEvent -> Text -> MH () -> KeyEventHandler
mkKb KeyEvent
CancelEvent Text
"Exit post browsing" MH ()
exitPostListMode
, KeyEvent -> Text -> MH () -> KeyEventHandler
mkKb KeyEvent
SelectUpEvent Text
"Select the previous message" MH ()
postListSelectUp
, KeyEvent -> Text -> MH () -> KeyEventHandler
mkKb KeyEvent
SelectDownEvent Text
"Select the next message" MH ()
postListSelectDown
, KeyEvent -> Text -> MH () -> KeyEventHandler
mkKb KeyEvent
FlagMessageEvent Text
"Toggle the selected message flag" MH ()
postListUnflagSelected
, KeyEvent -> Text -> MH () -> KeyEventHandler
mkKb KeyEvent
ActivateListItemEvent Text
"Jump to and select current message" MH ()
postListJumpToCurrent
]