feat: shortcuts to get around pages
This commit is contained in:
18
main.go
18
main.go
@ -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")
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user