draw :: ChatState -> [Widget Name]
draw st =
    case appMode st of
        Main                       -> drawMain st
        ChannelScroll              -> drawMain st
        UrlSelect                  -> drawMain st
        ShowHelp topic             -> drawShowHelp topic st
        ChannelSelect              -> drawMain st
        LeaveChannelConfirm        -> drawLeaveChannelConfirm st
        JoinChannel                -> drawJoinChannel st
        MessageSelect              -> drawMain st
        MessageSelectDeleteConfirm -> drawMain st
        DeleteChannelConfirm       -> drawDeleteChannelConfirm st
        PostListOverlay contents   -> drawPostListOverlay contents st
        UserListOverlay            -> drawUserListOverlay st
        ViewMessage                -> drawViewMessage st
draw :: ChatState -> [Widget Name]
draw st =
    case appMode st of
        Main                       -> drawMain st
        ChannelScroll              -> drawMain st
        UrlSelect                  -> drawMain st
        ShowHelp topic             -> drawShowHelp topic st
        ChannelSelect              -> drawMain st
        LeaveChannelConfirm        -> drawLeaveChannelConfirm st
        JoinChannel                -> drawJoinChannel st
        MessageSelect              -> drawMain st
        MessageSelectDeleteConfirm -> drawMain st
        DeleteChannelConfirm       -> drawDeleteChannelConfirm st
        PostListOverlay contents   -> drawPostListOverlay contents st
        UserListOverlay            -> drawUserListOverlay st
        ViewMessage                -> drawViewMessage st
draw st =
    case appMode st of
        Main                       -> drawMain st
        ChannelScroll              -> drawMain st
        UrlSelect                  -> drawMain st
        ShowHelp topic             -> drawShowHelp topic st
        ChannelSelect              -> drawMain st
        LeaveChannelConfirm        -> drawLeaveChannelConfirm st
        JoinChannel                -> drawJoinChannel st
        MessageSelect              -> drawMain st
        MessageSelectDeleteConfirm -> drawMain st
        DeleteChannelConfirm       -> drawDeleteChannelConfirm st
        PostListOverlay contents   -> drawPostListOverlay contents st
        UserListOverlay            -> drawUserListOverlay st
        ViewMessage                -> drawViewMessage st