From 87bd602ae903b79e43f6e7ca434cb4f21326ec37 Mon Sep 17 00:00:00 2001 From: Jalol Mirislomov Date: Tue, 21 May 2024 09:51:12 +0100 Subject: [PATCH] feat: delete from UI --- internal/service/projectService.go | 12 ++++++++++++ ui/list.go | 10 ++++++++++ ui/style.go | 2 +- 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/internal/service/projectService.go b/internal/service/projectService.go index 6a0abc2..1f2131b 100644 --- a/internal/service/projectService.go +++ b/internal/service/projectService.go @@ -68,3 +68,15 @@ func UpdateProject(projectName string, filePath string) error { return nil } + +func DeleteProject(projectName string) error { + boltDBStore := store.GetStore() + defer boltDBStore.Close() + + err := boltDBStore.Delete("Projects", projectName) + if err != nil { + return err + } + + return nil +} diff --git a/ui/list.go b/ui/list.go index ef34f11..0598f40 100644 --- a/ui/list.go +++ b/ui/list.go @@ -34,6 +34,16 @@ func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { switch msg := msg.(type) { case tea.KeyMsg: switch msg.Type { + case tea.KeyBackspace: + err := service.DeleteProject(m.projects[m.cursor]) + if err != nil { + log.Fatal(err) + } + m.projects = append(m.projects[:m.cursor], m.projects[m.cursor+1:]...) + if m.cursor > 0 { + m.cursor-- + } + return m, nil case tea.KeyUp: if m.cursor > 0 { m.cursor-- diff --git a/ui/style.go b/ui/style.go index 2698fc9..2a9d463 100644 --- a/ui/style.go +++ b/ui/style.go @@ -6,6 +6,6 @@ var unfocused = lipgloss.NewStyle() var focused = lipgloss.NewStyle(). Foreground(lipgloss.Color("#a78bfa")) var navigationHelper = "" + - "Up / Down: Navigate | Enter: Select | Ctrl+C: Quit" + "Up / Down: Navigate | Enter: Select | Backspace: Delete | Ctrl+C: Quit" var title = lipgloss.NewStyle().Padding(1, 8).Background(lipgloss.Color("#7e22ce"))