repos / pico

pico services - prose.sh, pastes.sh, imgs.sh, feeds.sh, pgs.sh
git clone https://github.com/picosh/pico.git

pico / tui / pages
Eric Bower · 17 May 24

pages.go

 1package pages
 2
 3import tea "github.com/charmbracelet/bubbletea"
 4
 5type Page int
 6
 7const (
 8	MenuPage Page = iota
 9	CreateAccountPage
10	CreatePubkeyPage
11	CreateTokenPage
12	PubkeysPage
13	TokensPage
14	NotificationsPage
15	PlusPage
16	SettingsPage
17)
18
19type NavigateMsg struct{ Page }
20
21func Navigate(page Page) tea.Cmd {
22	return func() tea.Msg {
23		return NavigateMsg{page}
24	}
25}
26
27func ToTitle(page Page) string {
28	switch page {
29	case CreateAccountPage:
30		return "create account"
31	case CreatePubkeyPage:
32		return "add pubkey"
33	case CreateTokenPage:
34		return "new api token"
35	case MenuPage:
36		return "menu"
37	case NotificationsPage:
38		return "notifications"
39	case PlusPage:
40		return "pico+"
41	case TokensPage:
42		return "api tokens"
43	case PubkeysPage:
44		return "pubkeys"
45	case SettingsPage:
46		return "settings"
47	}
48
49	return ""
50}