discordo/ui/view.go

42 lines
813 B
Go

package ui
import (
"github.com/rivo/tview"
)
type View struct {
*tview.Flex
GuildsTree *GuildsTree
ChannelsTree *ChannelsTree
MessagesText *MessagesText
MessageInput *MessageInput
app *Application
}
func newView(app *Application) *View {
v := &View{
Flex: tview.NewFlex(),
GuildsTree: newGuildsTree(app),
ChannelsTree: newChannelsTree(app),
MessagesText: newMessagesText(app),
MessageInput: newMessageInput(app),
app: app,
}
left := tview.NewFlex().
SetDirection(tview.FlexRow).
AddItem(v.GuildsTree, 10, 1, false).
AddItem(v.ChannelsTree, 0, 1, false)
right := tview.NewFlex().
SetDirection(tview.FlexRow).
AddItem(v.MessagesText, 0, 1, false).
AddItem(v.MessageInput, 3, 1, false)
v.AddItem(left, 0, 1, false)
v.AddItem(right, 0, 4, false)
return v
}