feat: shortcuts to get around pages

This commit is contained in:
2025-06-01 15:29:56 +01:00
parent a85087b444
commit 159cdc14a0

18
main.go
View File

@ -112,8 +112,8 @@ func initialModel() model {
panic(err) panic(err)
} }
list := list.New(listItems, list.NewDefaultDelegate(), w, h) list := list.New(listItems, list.NewDefaultDelegate(), w, h-4)
list.Title = "Blog Posts" list.SetShowTitle(false)
// -1 to allow for the initial height of the nav model // -1 to allow for the initial height of the nav model
vp := getViewPort(w, h-3) vp := getViewPort(w, h-3)
@ -171,6 +171,18 @@ func (m model) Init() tea.Cmd {
} }
func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
switch msg := msg.(type) {
case tea.KeyMsg:
switch msg.String() {
case "h":
m.page = FRONT
return m, nil
case "b":
m.page = POST_LIST
return m, nil
}
}
switch m.page { switch m.page {
case FRONT: case FRONT:
updatedFrontPageModel, cmd := m.frontPageModel.Update(msg) updatedFrontPageModel, cmd := m.frontPageModel.Update(msg)
@ -240,7 +252,7 @@ func (m model) View() string {
case POST_LIST: case POST_LIST:
return m.navModel.View() + docStyle.Render(m.list.View()) return m.navModel.View() + docStyle.Render(m.list.View())
case POST: case POST:
return m.navModel.View() + m.postModel.View() return m.navModel.View() + "\n" + m.postModel.View()
default: default:
panic("unreachable") panic("unreachable")
} }