matterhorn-50200.5.0: src/Draw.hs
{-# LANGUAGE MultiWayIf #-}
{-# LANGUAGE PackageImports #-}
module Draw (draw) where
import Prelude ()
import Prelude.MH
import Brick
import Lens.Micro.Platform ( _2, singular, _Just )
import Draw.DeleteChannelConfirm
import Draw.LeaveChannelConfirm
import Draw.Main
import Draw.PostListOverlay
import Draw.ShowHelp
import Draw.UserListOverlay
import Draw.ChannelListOverlay
import Draw.ReactionEmojiListOverlay
import Draw.TabbedWindow
import Draw.ManageAttachments
import Types
draw :: ChatState -> [Widget Name]
draw st =
case appMode st of
Main -> drawMain True st
UrlSelect -> drawMain True st
ShowHelp topic -> drawShowHelp topic st
ChannelSelect -> drawMain True st
LeaveChannelConfirm -> drawLeaveChannelConfirm st
MessageSelect -> drawMain True st
MessageSelectDeleteConfirm -> drawMain True st
DeleteChannelConfirm -> drawDeleteChannelConfirm st
PostListOverlay contents -> drawPostListOverlay contents st
UserListOverlay -> drawUserListOverlay st
ChannelListOverlay -> drawChannelListOverlay st
ReactionEmojiListOverlay -> drawReactionEmojiListOverlay st
ViewMessage -> drawTabbedWindow (st^.csViewedMessage.singular _Just._2) st : drawMain False st
ManageAttachments -> drawManageAttachments st
ManageAttachmentsBrowseFiles -> drawManageAttachments st