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 :: Event -> MH ()
onEventReactionEmojiListOverlay =
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
. Lens' ChatState (ListOverlayState (Bool, Text) ())
-> (KeyConfig -> KeyHandlerMap) -> Event -> MH Bool
forall a b.
Lens' ChatState (ListOverlayState a b)
-> (KeyConfig -> KeyHandlerMap) -> Event -> MH Bool
onEventListOverlay ((TeamState -> f TeamState) -> ChatState -> f ChatState
Lens' ChatState TeamState
csCurrentTeam((TeamState -> f TeamState) -> ChatState -> f ChatState)
-> ((ListOverlayState (Bool, Text) ()
-> f (ListOverlayState (Bool, Text) ()))
-> TeamState -> f TeamState)
-> (ListOverlayState (Bool, Text) ()
-> f (ListOverlayState (Bool, Text) ()))
-> ChatState
-> f ChatState
forall b c a. (b -> c) -> (a -> b) -> a -> c
.(ListOverlayState (Bool, Text) ()
-> f (ListOverlayState (Bool, Text) ()))
-> TeamState -> f TeamState
Lens' TeamState (ListOverlayState (Bool, Text) ())
tsReactionEmojiListOverlay)
KeyConfig -> KeyHandlerMap
reactionEmojiListOverlayKeybindings
reactionEmojiListOverlayKeybindings :: KeyConfig -> KeyHandlerMap
reactionEmojiListOverlayKeybindings :: KeyConfig -> KeyHandlerMap
reactionEmojiListOverlayKeybindings = [KeyEventHandler] -> KeyConfig -> KeyHandlerMap
mkKeybindings [KeyEventHandler]
reactionEmojiListOverlayKeyHandlers
reactionEmojiListOverlayKeyHandlers :: [KeyEventHandler]
reactionEmojiListOverlayKeyHandlers :: [KeyEventHandler]
reactionEmojiListOverlayKeyHandlers =
[ KeyEvent -> Text -> MH () -> KeyEventHandler
mkKb KeyEvent
CancelEvent Text
"Close the emoji search window"
(Lens' ChatState (ListOverlayState (Bool, Text) ()) -> MH ()
forall a b. Lens' ChatState (ListOverlayState a b) -> MH ()
exitListOverlay ((TeamState -> f TeamState) -> ChatState -> f ChatState
Lens' ChatState TeamState
csCurrentTeam((TeamState -> f TeamState) -> ChatState -> f ChatState)
-> ((ListOverlayState (Bool, Text) ()
-> f (ListOverlayState (Bool, Text) ()))
-> TeamState -> f TeamState)
-> (ListOverlayState (Bool, Text) ()
-> f (ListOverlayState (Bool, Text) ()))
-> ChatState
-> f ChatState
forall b c a. (b -> c) -> (a -> b) -> a -> c
.(ListOverlayState (Bool, Text) ()
-> f (ListOverlayState (Bool, Text) ()))
-> TeamState -> f TeamState
Lens' TeamState (ListOverlayState (Bool, Text) ())
tsReactionEmojiListOverlay))
, KeyEvent -> Text -> MH () -> KeyEventHandler
mkKb KeyEvent
SearchSelectUpEvent Text
"Select the previous emoji"
MH ()
reactionEmojiListSelectUp
, KeyEvent -> Text -> MH () -> KeyEventHandler
mkKb KeyEvent
SearchSelectDownEvent Text
"Select the next emoji"
MH ()
reactionEmojiListSelectDown
, KeyEvent -> Text -> MH () -> KeyEventHandler
mkKb KeyEvent
PageDownEvent Text
"Page down in the emoji list"
MH ()
reactionEmojiListPageDown
, KeyEvent -> Text -> MH () -> KeyEventHandler
mkKb KeyEvent
PageUpEvent Text
"Page up in the emoji list"
MH ()
reactionEmojiListPageUp
, KeyEvent -> Text -> MH () -> KeyEventHandler
mkKb KeyEvent
ActivateListItemEvent Text
"Post the selected emoji reaction"
(Lens' ChatState (ListOverlayState (Bool, Text) ()) -> MH ()
forall a b. Lens' ChatState (ListOverlayState a b) -> MH ()
listOverlayActivateCurrent ((TeamState -> f TeamState) -> ChatState -> f ChatState
Lens' ChatState TeamState
csCurrentTeam((TeamState -> f TeamState) -> ChatState -> f ChatState)
-> ((ListOverlayState (Bool, Text) ()
-> f (ListOverlayState (Bool, Text) ()))
-> TeamState -> f TeamState)
-> (ListOverlayState (Bool, Text) ()
-> f (ListOverlayState (Bool, Text) ()))
-> ChatState
-> f ChatState
forall b c a. (b -> c) -> (a -> b) -> a -> c
.(ListOverlayState (Bool, Text) ()
-> f (ListOverlayState (Bool, Text) ()))
-> TeamState -> f TeamState
Lens' TeamState (ListOverlayState (Bool, Text) ())
tsReactionEmojiListOverlay))
]