chat.go 794 B

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