gotd/model.go
2025-03-08 11:48:39 +13:00

36 lines
899 B
Go

package main
type todo struct {
name string
done bool
deadline int
startdate int
priority int // 1-4, 1 being highest priority, 4 being no priority
isInbox bool
}
type model struct {
todos []todo // ALL items on the to-do list
list []todo // items currently visible on the list right now
cursor int // which to-do list item our cursor is pointing at
selected map[int]struct{} // which to-do items are selected
tab int // which tab is selected
}
func initialModel() model {
return model{
// Start empty
todos: []todo{},
list: []todo{},
// 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{}),
}
}