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