package main import ( "github.com/gizak/termui" ) type View struct { Input *Input Chat *Chat Channels *Channels Mode *Mode } func CreateChatView(svc *SlackService) *View { input := CreateInput() channels := CreateChannels(svc, input.Par.Height) chat := CreateChat( svc, input.Par.Height, svc.SlackChannels[channels.SelectedChannel], svc.Channels[channels.SelectedChannel], ) mode := CreateMode() view := &View{ Input: input, Channels: channels, Chat: chat, Mode: mode, } return view } func (v *View) Refresh() { termui.Render( v.Input, v.Chat, v.Channels, v.Mode, ) }