building on model

This commit is contained in:
june 2025-03-08 11:38:34 +13:00
parent 4357aa1555
commit 81f6e853c2
Signed by untrusted user who does not match committer: breadone
GPG Key ID: FDC19FE143200483
2 changed files with 13 additions and 7 deletions

View File

@ -31,7 +31,7 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
// The "down" and "j" keys move the cursor down
case "down", "j":
if m.cursor < len(m.choices)-1 {
if m.cursor < len(m.todos)-1 {
m.cursor++
}

View File

@ -1,19 +1,25 @@
package main
type model struct {
choices []string // items on the to-do list
cursor int // which to-do list item our cursor is pointing at
selected map[int]struct{} // which to-do items are selected
todos []string // ALL items on the to-do list
list []string // items currently visible on the list right now
cursor int // which to-do list item our cursor is pointing at
done map[int]struct{} // which to-do items are selected
tab int // which tab is selected
}
func initialModel() model {
return model{
// Our to-do list is a grocery list
choices: []string{"Buy carrots", "Buy celery", "Buy kohlrabi"},
// Start empty
todos: []string{},
// start on today tab
// 0: inbox, 1: today, 2: tomorrow, 3: scheduled, 4: anytime
tab: 1,
// A map which indicates which choices are selected. We're using
// the map like a mathematical set. The keys refer to the indexes
// of the `choices` slice, above.
selected: make(map[int]struct{}),
done: make(map[int]struct{}),
}
}