Fix new project/tags

This commit is contained in:
Martin
2024-05-30 10:15:57 +02:00
parent 3c50c6ffd8
commit 035d09900e
5 changed files with 46 additions and 6 deletions

View File

@ -3,6 +3,8 @@ package pages
import (
"fmt"
"log/slog"
"slices"
"strings"
"tasksquire/common"
"tasksquire/taskwarrior"
@ -50,6 +52,8 @@ func NewTaskEditorPage(com *common.Common, task taskwarrior.Task) *TaskEditorPag
priorityOptions := append([]string{"(none)"}, p.common.TW.GetPriorities()...)
projectOptions := append([]string{"(none)"}, p.common.TW.GetProjects()...)
tagOptions := p.common.TW.GetTags()
tagOptions = append(tagOptions, strings.Split(p.common.TW.GetConfig().Get("uda.tasksquire.tags.default"), ",")...)
slices.Sort(tagOptions)
p.areas = map[area]tea.Model{
areaTask: NewTaskEdit(p.common, &p.task.Description, &p.task.Priority, &p.task.Project, priorityOptions, projectOptions),
@ -63,9 +67,10 @@ func NewTaskEditorPage(com *common.Common, task taskwarrior.Task) *TaskEditorPag
p.areaPicker = NewAreaPicker(com, []string{"Task", "Tags", "Dates"})
p.columnCursor = 1
if p.task.Uuid == "" {
// p.mode = modeInsert
p.mode = modeNormal
p.mode = modeInsert
} else {
p.mode = modeNormal
}
@ -173,7 +178,9 @@ func (p *TaskEditorPage) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
case key.Matches(msg, p.common.Keymap.Back):
return p, changeMode(modeNormal)
case key.Matches(msg, p.common.Keymap.Ok):
return p, nextField()
area, cmd := p.areas[p.area].Update(msg)
p.areas[p.area] = area
return p, tea.Batch(cmd, nextField())
}
}
@ -788,9 +795,15 @@ func (p *TaskEditorPage) updateTasksCmd() tea.Msg {
if p.task.Priority == "(none)" {
p.task.Priority = ""
}
// if p.additionalTags != "" {
// p.task.Tags = append(p.task.Tags, strings.Split(p.additionalTags, " ")...)
// }
if *p.areas[areaTask].(taskEdit).newProjectName != "" {
p.task.Project = *p.areas[areaTask].(taskEdit).newProjectName
}
if *p.areas[areaTags].(tagEdit).newTagsValue != "" {
p.task.Tags = append(p.task.Tags, strings.Split(*p.areas[areaTags].(tagEdit).newTagsValue, " ")...)
}
// if p.additionalProject != "" {
// p.task.Project = p.additionalProject
// }