mirror of
https://github.com/AmanTahiliani/box-box.git
synced 2026-08-07 19:56:18 -04:00
TUI Build
This commit is contained in:
90
internal/ui/keys.go
Normal file
90
internal/ui/keys.go
Normal file
@@ -0,0 +1,90 @@
|
||||
package ui
|
||||
|
||||
import "github.com/charmbracelet/bubbles/key"
|
||||
|
||||
// GlobalKeyMap holds keybindings that work from any tab.
|
||||
type GlobalKeyMap struct {
|
||||
Tab1 key.Binding
|
||||
Tab2 key.Binding
|
||||
Tab3 key.Binding
|
||||
Tab4 key.Binding
|
||||
Quit key.Binding
|
||||
Up key.Binding
|
||||
Down key.Binding
|
||||
Enter key.Binding
|
||||
Back key.Binding
|
||||
}
|
||||
|
||||
// GlobalKeys is the singleton global key map.
|
||||
var GlobalKeys = GlobalKeyMap{
|
||||
Tab1: key.NewBinding(
|
||||
key.WithKeys("1"),
|
||||
key.WithHelp("1", "standings"),
|
||||
),
|
||||
Tab2: key.NewBinding(
|
||||
key.WithKeys("2"),
|
||||
key.WithHelp("2", "calendar"),
|
||||
),
|
||||
Tab3: key.NewBinding(
|
||||
key.WithKeys("3"),
|
||||
key.WithHelp("3", "race detail"),
|
||||
),
|
||||
Tab4: key.NewBinding(
|
||||
key.WithKeys("4"),
|
||||
key.WithHelp("4", "drivers"),
|
||||
),
|
||||
Quit: key.NewBinding(
|
||||
key.WithKeys("q", "ctrl+c"),
|
||||
key.WithHelp("q", "quit"),
|
||||
),
|
||||
Up: key.NewBinding(
|
||||
key.WithKeys("k", "up"),
|
||||
key.WithHelp("k/↑", "up"),
|
||||
),
|
||||
Down: key.NewBinding(
|
||||
key.WithKeys("j", "down"),
|
||||
key.WithHelp("j/↓", "down"),
|
||||
),
|
||||
Enter: key.NewBinding(
|
||||
key.WithKeys("enter"),
|
||||
key.WithHelp("enter", "select"),
|
||||
),
|
||||
Back: key.NewBinding(
|
||||
key.WithKeys("b"),
|
||||
key.WithHelp("b", "back"),
|
||||
),
|
||||
}
|
||||
|
||||
// StandingsKeyMap holds standing-specific keybindings.
|
||||
type StandingsKeyMap struct {
|
||||
DriverView key.Binding
|
||||
ConstructorView key.Binding
|
||||
}
|
||||
|
||||
var StandingsKeys = StandingsKeyMap{
|
||||
DriverView: key.NewBinding(
|
||||
key.WithKeys("d"),
|
||||
key.WithHelp("d", "drivers"),
|
||||
),
|
||||
ConstructorView: key.NewBinding(
|
||||
key.WithKeys("c"),
|
||||
key.WithHelp("c", "constructors"),
|
||||
),
|
||||
}
|
||||
|
||||
// RaceDetailKeyMap holds keybindings for the race detail tab.
|
||||
type RaceDetailKeyMap struct {
|
||||
ScrollUp key.Binding
|
||||
ScrollDown key.Binding
|
||||
}
|
||||
|
||||
var RaceDetailKeys = RaceDetailKeyMap{
|
||||
ScrollUp: key.NewBinding(
|
||||
key.WithKeys("K"),
|
||||
key.WithHelp("K", "scroll race control up"),
|
||||
),
|
||||
ScrollDown: key.NewBinding(
|
||||
key.WithKeys("J"),
|
||||
key.WithHelp("J", "scroll race control down"),
|
||||
),
|
||||
}
|
||||
Reference in New Issue
Block a user