imap-notes/tui/pager.go

44 lines
855 B
Go

package tui
import (
// "git.iamthefij.com/iamthefij/slog"
"github.com/charmbracelet/bubbles/viewport"
tea "github.com/charmbracelet/bubbletea"
)
type pagerModel struct {
content string
viewport viewport.Model
}
func NewPagerModel(content string) pagerModel {
return pagerModel{
content: content,
}
}
func (m pagerModel) Init() tea.Cmd { return nil }
func (m pagerModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
switch msg := msg.(type) {
case tea.KeyMsg:
if msg.String() == "e" {
// edit!
}
case tea.WindowSizeMsg:
m.viewport = viewport.New(msg.Width, msg.Height)
m.viewport.SetContent(m.content)
}
var cmd tea.Cmd
// m.viewport, cmd = m.viewport.Update(msg)
return m, cmd
}
func (m pagerModel) View() string {
// slog.Debugf("viewport view? %s", m.viewport.View())
// return m.viewport.View()
return m.content
}