Skip to content

Commit 5b3b803

Browse files
committed
added delete collection
1 parent 765149b commit 5b3b803

3 files changed

Lines changed: 19 additions & 6 deletions

File tree

internal/tui/components/OptionsProvider/component.go

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"github.com/charmbracelet/bubbles/list"
88
tea "github.com/charmbracelet/bubbletea"
99
"github.com/charmbracelet/lipgloss"
10+
"github.com/maniac-en/req/internal/log"
1011
"github.com/maniac-en/req/internal/tui/keybinds"
1112
"github.com/maniac-en/req/internal/tui/messages"
1213
)
@@ -62,19 +63,16 @@ func (o OptionsProvider[T, U]) Update(msg tea.Msg) (OptionsProvider[T, U], tea.C
6263
o.input.OnFocus()
6364
o.focused = textComponent
6465
return o, tea.Batch(cmds...)
66+
case key.Matches(msg, keybinds.Keys.Remove):
67+
return o, func() tea.Msg { return messages.DeleteItem{ItemID: int64(o.GetSelected().ID)} }
6568
}
6669
}
6770
}
6871
case messages.ItemAdded:
6972
o.input.OnBlur()
7073
o.focused = listComponent
7174
o.list.SetSize(o.list.Width(), o.height)
72-
newItems, err := o.getItems(context.Background())
73-
if err != nil {
74-
75-
}
76-
o.list.SetItems(o.itemMapper(newItems))
77-
75+
o.RefreshItems()
7876
}
7977
switch o.focused {
8078
case listComponent:
@@ -108,6 +106,15 @@ func (o OptionsProvider[T, U]) IsFiltering() bool {
108106
return o.list.FilterState() == list.Filtering
109107
}
110108

109+
func (o *OptionsProvider[T, U]) RefreshItems() {
110+
newItems, err := o.getItems(context.Background())
111+
if err != nil {
112+
log.Warn("Fetching items failed")
113+
return
114+
}
115+
o.list.SetItems(o.itemMapper(newItems))
116+
}
117+
111118
func initList[T, U any](config *ListConfig[T, U]) list.Model {
112119

113120
rawItems, err := config.GetItemsFunc(context.Background())

internal/tui/messages/messages.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,6 @@ package messages
33
type ItemAdded struct {
44
Item string
55
}
6+
type DeleteItem struct {
7+
ItemID int64
8+
}

internal/tui/views/collections-view.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@ func (c CollectionsView) Update(msg tea.Msg) (ViewInterface, tea.Cmd) {
4545
cmds = append(cmds, cmd)
4646
case messages.ItemAdded:
4747
c.manager.Create(context.Background(), msg.Item)
48+
case messages.DeleteItem:
49+
c.manager.Delete(context.Background(), msg.ItemID)
50+
c.list.RefreshItems()
4851
}
4952

5053
c.list, cmd = c.list.Update(msg)

0 commit comments

Comments
 (0)