module Matterhorn.State.Help ( showHelpScreen ) where import Prelude () import Matterhorn.Prelude import Brick.Main ( viewportScroll, vScrollToBeginning ) import Network.Mattermost.Types ( TeamId ) import Matterhorn.Types showHelpScreen :: TeamId -> HelpTopic -> MH () showHelpScreen :: TeamId -> HelpTopic -> MH () showHelpScreen TeamId tId HelpTopic topic = do Mode curMode <- TeamId -> MH Mode getTeamMode TeamId tId case Mode curMode of ShowHelp {} -> forall (m :: * -> *) a. Monad m => a -> m a return () Mode _ -> do forall a. EventM Name ChatState a -> MH a mh forall a b. (a -> b) -> a -> b $ forall n. ViewportScroll n -> forall s. EventM n s () vScrollToBeginning (forall n. n -> ViewportScroll n viewportScroll Name HelpViewport) TeamId -> Mode -> MH () pushMode TeamId tId forall a b. (a -> b) -> a -> b $ HelpTopic -> Mode ShowHelp HelpTopic topic