matterhorn-50200.12.0: src/Matterhorn/Events/ReactionEmojiListOverlay.hs
module Matterhorn.Events.ReactionEmojiListOverlay
( onEventReactionEmojiListOverlay
, reactionEmojiListOverlayKeybindings
, reactionEmojiListOverlayKeyHandlers
)
where
import Prelude ()
import Matterhorn.Prelude
import qualified Graphics.Vty as Vty
import Matterhorn.Events.Keybindings
import Matterhorn.State.ReactionEmojiListOverlay
import Matterhorn.State.ListOverlay
import Matterhorn.Types
onEventReactionEmojiListOverlay :: Vty.Event -> MH ()
onEventReactionEmojiListOverlay =
void . onEventListOverlay (csCurrentTeam.tsReactionEmojiListOverlay)
reactionEmojiListOverlayKeybindings
-- | The keybindings we want to use while viewing an emoji list overlay
reactionEmojiListOverlayKeybindings :: KeyConfig -> KeyHandlerMap
reactionEmojiListOverlayKeybindings = mkKeybindings reactionEmojiListOverlayKeyHandlers
reactionEmojiListOverlayKeyHandlers :: [KeyEventHandler]
reactionEmojiListOverlayKeyHandlers =
[ mkKb CancelEvent "Close the emoji search window"
(exitListOverlay (csCurrentTeam.tsReactionEmojiListOverlay))
, mkKb SearchSelectUpEvent "Select the previous emoji"
reactionEmojiListSelectUp
, mkKb SearchSelectDownEvent "Select the next emoji"
reactionEmojiListSelectDown
, mkKb PageDownEvent "Page down in the emoji list"
reactionEmojiListPageDown
, mkKb PageUpEvent "Page up in the emoji list"
reactionEmojiListPageUp
, mkKb ActivateListItemEvent "Post the selected emoji reaction"
(listOverlayActivateCurrent (csCurrentTeam.tsReactionEmojiListOverlay))
]