module Matterhorn.Events.UserListOverlay where
import Prelude ()
import Matterhorn.Prelude
import qualified Graphics.Vty as Vty
import Matterhorn.Events.Keybindings
import Matterhorn.State.UserListOverlay
import Matterhorn.State.ListOverlay
import Matterhorn.Types
onEventUserListOverlay :: Vty.Event -> MH ()
onEventUserListOverlay =
void . onEventListOverlay csUserListOverlay userListOverlayKeybindings
userListOverlayKeybindings :: KeyConfig -> KeyHandlerMap
userListOverlayKeybindings = mkKeybindings userListOverlayKeyHandlers
userListOverlayKeyHandlers :: [KeyEventHandler]
userListOverlayKeyHandlers =
[ mkKb CancelEvent "Close the user search list" (exitListOverlay csUserListOverlay)
, mkKb SearchSelectUpEvent "Select the previous user" userListSelectUp
, mkKb SearchSelectDownEvent "Select the next user" userListSelectDown
, mkKb PageDownEvent "Page down in the user list" userListPageDown
, mkKb PageUpEvent "Page up in the user list" userListPageUp
, mkKb ActivateListItemEvent "Interact with the selected user" (listOverlayActivateCurrent csUserListOverlay)
]