diff --git a/bubbletea.go b/bubbletea.go index e907a8e..87edd9e 100644 --- a/bubbletea.go +++ b/bubbletea.go @@ -57,7 +57,7 @@ func (m model) View() string { s := "What should we buy at the market?\n\n" // Iterate over our choices - for i, choice := range m.choices { + for i, choice := range m.list { // Is the cursor pointing at this choice? cursor := " " // no cursor diff --git a/model.go b/model.go index 7d05532..60e4f34 100644 --- a/model.go +++ b/model.go @@ -1,17 +1,27 @@ 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 +} + type model struct { - 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 + 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: []string{}, + todos: []todo{}, + + list: []todo{}, // start on today tab // 0: inbox, 1: today, 2: tomorrow, 3: scheduled, 4: anytime @@ -20,6 +30,6 @@ func initialModel() model { // 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. - done: make(map[int]struct{}), + selected: make(map[int]struct{}), } } \ No newline at end of file