apps/blobs/tui_keys.go 1.0 K raw
1
package main
2
3
import (
4
	"charm.land/bubbles/v2/key"
5
	sharedtui "github.com/stevedylandev/andromeda/pkg/tui"
6
)
7
8
type tuiKeyMap struct {
9
	sharedtui.KeyMap
10
	Upload    key.Binding
11
	Buckets   key.Binding
12
	Preview   key.Binding
13
	CopyKey   key.Binding
14
}
15
16
func defaultTUIKeys() tuiKeyMap {
17
	return tuiKeyMap{
18
		KeyMap: sharedtui.DefaultKeys(),
19
		Upload: key.NewBinding(key.WithKeys("u"), key.WithHelp("u", "upload")),
20
		Buckets: key.NewBinding(key.WithKeys("b"), key.WithHelp("b", "buckets")),
21
		Preview: key.NewBinding(key.WithKeys(" "), key.WithHelp("space", "toggle preview")),
22
		CopyKey: key.NewBinding(key.WithKeys("K"), key.WithHelp("K", "copy key")),
23
	}
24
}
25
26
func (k tuiKeyMap) ShortHelp() []key.Binding {
27
	return []key.Binding{k.Open, k.Back, k.Copy, k.CopyLink, k.OpenBrowser, k.Upload, k.Delete, k.Quit, k.Help}
28
}
29
30
func (k tuiKeyMap) FullHelp() [][]key.Binding {
31
	return [][]key.Binding{
32
		{k.Open, k.Back, k.Buckets, k.Refresh},
33
		{k.Copy, k.CopyLink, k.CopyKey, k.OpenBrowser},
34
		{k.Upload, k.Delete, k.Preview, k.Help},
35
		{k.ScrollUp, k.ScrollDown, k.Quit},
36
	}
37
}