diff options
Diffstat (limited to 'internal/tui/app.go')
-rw-r--r-- | internal/tui/app.go | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/internal/tui/app.go b/internal/tui/app.go index 0b67933..d21df5c 100644 --- a/internal/tui/app.go +++ b/internal/tui/app.go @@ -188,6 +188,11 @@ func (m AppModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) { case openContractorEditor: m.openContractorEditor() + case openClientOrProjectEditor: + if m.selectedBox == ProjectsBox { + m.openClientOrProjectEditor() + } + case openModalUnchanged: m.modalBox.Active = true @@ -263,6 +268,19 @@ func (m *AppModel) openContractorEditor() { m.modalBox.form.fields[0].Focus() } +func (m *AppModel) openClientOrProjectEditor() { + client := m.projectsBox.clients[m.projectsBox.selectedClient] + if m.projectsBox.selectedProject == nil { + m.modalBox.activate(ModalTypeClient, client.ID, *m) + m.modalBox.populateClientFields(client) + } else { + project := m.projectsBox.projects[client.ID][*m.projectsBox.selectedProject] + m.modalBox.activate(ModalTypeProjectEdit, project.ID, *m) + m.modalBox.populateProjectFields(project) + } + m.modalBox.form.fields[0].Focus() +} + func (m *AppModel) openHistoryFilterModal() { m.modalBox.activate(ModalTypeHistoryFilter, 0, *m) m.modalBox.form.fields[0].Focus() |