apps/sipp/tui/commands.go 857 B raw
1
package tui
2
3
import (
4
	"strings"
5
6
	tea "charm.land/bubbletea/v2"
7
)
8
9
func loadSnippetsCmd(b Backend) tea.Cmd {
10
	return func() tea.Msg {
11
		list, err := b.List()
12
		return snippetsLoadedMsg{Snippets: list, Err: err}
13
	}
14
}
15
16
func saveSnippetCmd(b Backend, shortID, name, content string) tea.Cmd {
17
	return func() tea.Msg {
18
		var (
19
			s   *Snippet
20
			err error
21
		)
22
		if shortID == "" {
23
			s, err = b.Create(name, content)
24
		} else {
25
			s, err = b.Update(shortID, name, content)
26
		}
27
		return snippetSavedMsg{Snippet: s, Err: err}
28
	}
29
}
30
31
func deleteSnippetCmd(b Backend, shortID string) tea.Cmd {
32
	return func() tea.Msg {
33
		_, err := b.Delete(shortID)
34
		return snippetDeletedMsg{ShortID: shortID, Err: err}
35
	}
36
}
37
38
func shareLinkURL(remoteBase, shortID string) string {
39
	if remoteBase == "" {
40
		return ""
41
	}
42
	return strings.TrimRight(remoteBase, "/") + "/s/" + shortID
43
}