summaryrefslogtreecommitdiff
path: root/internal/tui/app.go
diff options
context:
space:
mode:
authorT <t@tjp.lol>2025-08-13 23:09:07 -0600
committerT <t@tjp.lol>2025-08-13 23:09:38 -0600
commit99b4888709b8b9dc435bff476cb73210e91017cc (patch)
tree3045f926be8832d2f1865ffad53319c2b5b39a1a /internal/tui/app.go
parent5c076e605185a09b1e570f9aa3c5ddb784ace0f3 (diff)
edit clients and projects
Diffstat (limited to 'internal/tui/app.go')
-rw-r--r--internal/tui/app.go18
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()