module Matterhorn.Events.ThreadWindow
  ( onEventThreadWindow
  )
where

import Prelude ()
import Matterhorn.Prelude

import qualified Graphics.Vty as Vty
import Lens.Micro.Platform (Lens')

import Network.Mattermost.Types (TeamId)

import Matterhorn.Types
import Matterhorn.Events.MessageInterface

onEventThreadWindow :: TeamId -> Vty.Event -> MH Bool
onEventThreadWindow :: TeamId -> Event -> MH Bool
onEventThreadWindow TeamId
tId Event
ev = do
    let ti :: Lens' ChatState ThreadInterface
        ti :: (ThreadInterface -> f ThreadInterface) -> ChatState -> f ChatState
ti = HasCallStack => TeamId -> Lens' ChatState ThreadInterface
TeamId -> Lens' ChatState ThreadInterface
unsafeThreadInterface TeamId
tId

    TeamId -> Lens' ChatState ThreadInterface -> Event -> MH Bool
forall i.
TeamId
-> Lens' ChatState (MessageInterface Name i) -> Event -> MH Bool
handleMessageInterfaceEvent TeamId
tId Lens' ChatState ThreadInterface
ti Event
ev