mirror of
https://github.com/AmanTahiliani/box-box.git
synced 2026-08-07 11:54:59 -04:00
91 lines
1.9 KiB
Go
91 lines
1.9 KiB
Go
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"),
|
|
),
|
|
}
|