From f15304fc54b4220ae171cec6f80c45b5ef2be266 Mon Sep 17 00:00:00 2001 From: Robb Date: Mon, 19 Jun 2023 22:11:25 -0500 Subject: [PATCH] chore: add 'enter to select' to all scenes fixes #20 --- README.md | 1 + tea/scenes/installation/installation.go | 6 ++++++ tea/scenes/installation/installations.go | 1 + tea/scenes/installation/new_installation.go | 1 + tea/scenes/main_menu.go | 6 ++++++ tea/scenes/mods/installed_mods.go | 6 ++++++ tea/scenes/mods/mod.go | 6 ++++++ tea/scenes/mods/mod_version.go | 6 ++++++ tea/scenes/mods/mods.go | 16 ++++++++++++++++ tea/scenes/mods/select_mod_version.go | 6 ++++++ tea/scenes/profile/profile.go | 6 ++++++ tea/scenes/profile/profiles.go | 1 + 12 files changed, 62 insertions(+) diff --git a/README.md b/README.md index 50a006d..af33330 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,7 @@ Download the "all" build [here](https://github.com/Vilsol/ficsit-cli/releases/la ## Troubleshooting * Config files are located in `%APPDATA%\ficsit\` +* Cached downloads are located at `%LOCALAPPDATA%\ficsit\downloadCache` ## Development diff --git a/tea/scenes/installation/installation.go b/tea/scenes/installation/installation.go index fe81709..acaf696 100644 --- a/tea/scenes/installation/installation.go +++ b/tea/scenes/installation/installation.go @@ -4,6 +4,7 @@ import ( "fmt" "time" + "github.com/charmbracelet/bubbles/key" "github.com/charmbracelet/bubbles/list" tea "github.com/charmbracelet/bubbletea" "github.com/charmbracelet/lipgloss" @@ -67,6 +68,11 @@ func NewInstallation(root components.RootModel, parent tea.Model, installationDa model.list.SetSize(model.list.Width(), model.list.Height()) model.list.StatusMessageLifetime = time.Second * 3 model.list.KeyMap.Quit.SetHelp("q", "back") + model.list.AdditionalShortHelpKeys = func() []key.Binding { + return []key.Binding{ + key.NewBinding(key.WithKeys("enter"), key.WithHelp("enter", "select")), + } + } return model } diff --git a/tea/scenes/installation/installations.go b/tea/scenes/installation/installations.go index 161d235..7e6e945 100644 --- a/tea/scenes/installation/installations.go +++ b/tea/scenes/installation/installations.go @@ -33,6 +33,7 @@ func NewInstallations(root components.RootModel, parent tea.Model) tea.Model { l.AdditionalShortHelpKeys = func() []key.Binding { return []key.Binding{ key.NewBinding(key.WithKeys("n"), key.WithHelp("n", "new installation")), + key.NewBinding(key.WithKeys("enter"), key.WithHelp("enter", "select")), } } diff --git a/tea/scenes/installation/new_installation.go b/tea/scenes/installation/new_installation.go index 331e1ad..0a8bbdc 100644 --- a/tea/scenes/installation/new_installation.go +++ b/tea/scenes/installation/new_installation.go @@ -52,6 +52,7 @@ func NewNewInstallation(root components.RootModel, parent tea.Model) tea.Model { l.AdditionalShortHelpKeys = func() []key.Binding { return []key.Binding{ key.NewBinding(key.WithKeys(keys.KeyTab), key.WithHelp(keys.KeyTab, "select")), + key.NewBinding(key.WithKeys("enter"), key.WithHelp("enter", "continue")), } } diff --git a/tea/scenes/main_menu.go b/tea/scenes/main_menu.go index 03990b6..fe64903 100644 --- a/tea/scenes/main_menu.go +++ b/tea/scenes/main_menu.go @@ -4,6 +4,7 @@ import ( "strings" "time" + "github.com/charmbracelet/bubbles/key" "github.com/charmbracelet/bubbles/list" tea "github.com/charmbracelet/bubbletea" "github.com/charmbracelet/lipgloss" @@ -132,6 +133,11 @@ func NewMainMenu(root components.RootModel) tea.Model { model.list.SetFilteringEnabled(false) model.list.Title = "Main Menu" model.list.Styles = utils.ListStyles + model.list.AdditionalShortHelpKeys = func() []key.Binding { + return []key.Binding{ + key.NewBinding(key.WithKeys("enter"), key.WithHelp("enter", "select")), + } + } return model } diff --git a/tea/scenes/mods/installed_mods.go b/tea/scenes/mods/installed_mods.go index b3fcc5d..08b83b1 100644 --- a/tea/scenes/mods/installed_mods.go +++ b/tea/scenes/mods/installed_mods.go @@ -5,6 +5,7 @@ import ( "sort" "time" + "github.com/charmbracelet/bubbles/key" "github.com/charmbracelet/bubbles/list" "github.com/charmbracelet/bubbles/spinner" tea "github.com/charmbracelet/bubbletea" @@ -43,6 +44,11 @@ func NewInstalledMods(root components.RootModel, parent tea.Model) tea.Model { l.Styles = utils.ListStyles l.SetSize(l.Width(), l.Height()) l.KeyMap.Quit.SetHelp("q", "back") + l.AdditionalShortHelpKeys = func() []key.Binding { + return []key.Binding{ + key.NewBinding(key.WithKeys("enter"), key.WithHelp("enter", "select")), + } + } m := &installedModsList{ root: root, diff --git a/tea/scenes/mods/mod.go b/tea/scenes/mods/mod.go index 1522f27..8ffdc37 100644 --- a/tea/scenes/mods/mod.go +++ b/tea/scenes/mods/mod.go @@ -3,6 +3,7 @@ package mods import ( "time" + "github.com/charmbracelet/bubbles/key" "github.com/charmbracelet/bubbles/list" tea "github.com/charmbracelet/bubbletea" "github.com/charmbracelet/lipgloss" @@ -104,6 +105,11 @@ func NewModMenu(root components.RootModel, parent tea.Model, mod utils.Mod) tea. model.list.SetSize(model.list.Width(), model.list.Height()) model.list.StatusMessageLifetime = time.Second * 3 model.list.KeyMap.Quit.SetHelp("q", "back") + model.list.AdditionalShortHelpKeys = func() []key.Binding { + return []key.Binding{ + key.NewBinding(key.WithKeys("enter"), key.WithHelp("enter", "select")), + } + } return model } diff --git a/tea/scenes/mods/mod_version.go b/tea/scenes/mods/mod_version.go index 342a2df..f7607e5 100644 --- a/tea/scenes/mods/mod_version.go +++ b/tea/scenes/mods/mod_version.go @@ -3,6 +3,7 @@ package mods import ( "time" + "github.com/charmbracelet/bubbles/key" "github.com/charmbracelet/bubbles/list" tea "github.com/charmbracelet/bubbletea" "github.com/charmbracelet/lipgloss" @@ -70,6 +71,11 @@ func NewModVersion(root components.RootModel, parent tea.Model, mod utils.Mod) t model.list.SetSize(model.list.Width(), model.list.Height()) model.list.StatusMessageLifetime = time.Second * 3 model.list.KeyMap.Quit.SetHelp("q", "back") + model.list.AdditionalShortHelpKeys = func() []key.Binding { + return []key.Binding{ + key.NewBinding(key.WithKeys("enter"), key.WithHelp("enter", "select")), + } + } return model } diff --git a/tea/scenes/mods/mods.go b/tea/scenes/mods/mods.go index 2714f1a..0fa12ce 100644 --- a/tea/scenes/mods/mods.go +++ b/tea/scenes/mods/mods.go @@ -72,6 +72,7 @@ func NewMods(root components.RootModel, parent tea.Model) tea.Model { return []key.Binding{ key.NewBinding(key.WithKeys("s"), key.WithHelp("s", "sort")), key.NewBinding(key.WithKeys("o"), key.WithHelp("o", "order")), + key.NewBinding(key.WithKeys("enter"), key.WithHelp("enter", "select")), } } l.AdditionalFullHelpKeys = l.AdditionalShortHelpKeys @@ -161,6 +162,11 @@ func NewMods(root components.RootModel, parent tea.Model) tea.Model { sortFieldList.Title = modsTitle sortFieldList.Styles = utils.ListStyles sortFieldList.SetSize(l.Width(), l.Height()) + sortFieldList.AdditionalShortHelpKeys = func() []key.Binding { + return []key.Binding{ + key.NewBinding(key.WithKeys("enter"), key.WithHelp("enter", "select")), + } + } sortOrderList := list.New([]list.Item{ utils.SimpleItemExtra[modsList, ficsit.ModsModsGetModsModsMod]{ @@ -192,6 +198,11 @@ func NewMods(root components.RootModel, parent tea.Model) tea.Model { sortOrderList.Title = modsTitle sortOrderList.Styles = utils.ListStyles sortOrderList.SetSize(l.Width(), l.Height()) + sortOrderList.AdditionalShortHelpKeys = func() []key.Binding { + return []key.Binding{ + key.NewBinding(key.WithKeys("enter"), key.WithHelp("enter", "select")), + } + } m := &modsList{ root: root, @@ -272,6 +283,11 @@ func (m modsList) Init() tea.Cmd { func (m modsList) Update(msg tea.Msg) (tea.Model, tea.Cmd) { m.list.KeyMap.Quit.SetHelp("q", "back") + m.list.AdditionalShortHelpKeys = func() []key.Binding { + return []key.Binding{ + key.NewBinding(key.WithKeys("enter"), key.WithHelp("enter", "select")), + } + } switch msg := msg.(type) { case tea.KeyMsg: diff --git a/tea/scenes/mods/select_mod_version.go b/tea/scenes/mods/select_mod_version.go index 0d49b33..c3becb9 100644 --- a/tea/scenes/mods/select_mod_version.go +++ b/tea/scenes/mods/select_mod_version.go @@ -5,6 +5,7 @@ import ( "fmt" "time" + "github.com/charmbracelet/bubbles/key" "github.com/charmbracelet/bubbles/list" "github.com/charmbracelet/bubbles/spinner" tea "github.com/charmbracelet/bubbletea" @@ -36,6 +37,11 @@ func NewModVersionList(root components.RootModel, parent tea.Model, mod utils.Mo l.Styles = utils.ListStyles l.SetSize(l.Width(), l.Height()) l.KeyMap.Quit.SetHelp("q", "back") + l.AdditionalShortHelpKeys = func() []key.Binding { + return []key.Binding{ + key.NewBinding(key.WithKeys("enter"), key.WithHelp("enter", "select")), + } + } m := &selectModVersionList{ root: root, diff --git a/tea/scenes/profile/profile.go b/tea/scenes/profile/profile.go index 8fde788..3bf28fa 100644 --- a/tea/scenes/profile/profile.go +++ b/tea/scenes/profile/profile.go @@ -4,6 +4,7 @@ import ( "fmt" "time" + "github.com/charmbracelet/bubbles/key" "github.com/charmbracelet/bubbles/list" tea "github.com/charmbracelet/bubbletea" "github.com/charmbracelet/lipgloss" @@ -79,6 +80,11 @@ func NewProfile(root components.RootModel, parent tea.Model, profileData *cli.Pr model.list.SetSize(model.list.Width(), model.list.Height()) model.list.StatusMessageLifetime = time.Second * 3 model.list.KeyMap.Quit.SetHelp("q", "back") + model.list.AdditionalShortHelpKeys = func() []key.Binding { + return []key.Binding{ + key.NewBinding(key.WithKeys("enter"), key.WithHelp("enter", "select")), + } + } return model } diff --git a/tea/scenes/profile/profiles.go b/tea/scenes/profile/profiles.go index 8b8b01d..d40ea62 100644 --- a/tea/scenes/profile/profiles.go +++ b/tea/scenes/profile/profiles.go @@ -33,6 +33,7 @@ func NewProfiles(root components.RootModel, parent tea.Model) tea.Model { l.AdditionalShortHelpKeys = func() []key.Binding { return []key.Binding{ key.NewBinding(key.WithKeys("n"), key.WithHelp("n", "new profile")), + key.NewBinding(key.WithKeys("enter"), key.WithHelp("enter", "select")), } }