chat.go

 1package page
 2
 3import (
 4	tea "github.com/charmbracelet/bubbletea"
 5	"github.com/kujtimiihoxha/termai/internal/app"
 6	"github.com/kujtimiihoxha/termai/internal/tui/components/chat"
 7	"github.com/kujtimiihoxha/termai/internal/tui/layout"
 8)
 9
10var ChatPage PageID = "chat"
11
12func NewChatPage(app *app.App) tea.Model {
13	messagesContainer := layout.NewContainer(
14		chat.NewMessagesCmp(),
15		layout.WithPadding(1, 1, 1, 1),
16	)
17	sidebarContainer := layout.NewContainer(
18		chat.NewSidebarCmp(),
19		layout.WithPadding(1, 1, 1, 1),
20	)
21	editorContainer := layout.NewContainer(
22		chat.NewEditorCmp(),
23		layout.WithBorder(true, false, false, false),
24	)
25	return layout.NewSplitPane(
26		layout.WithRightPanel(sidebarContainer),
27		layout.WithLeftPanel(messagesContainer),
28		layout.WithBottomPanel(editorContainer),
29	)
30}