46 lines
638 B
Go
46 lines
638 B
Go
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,
|
|
)
|
|
}
|