ui

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 10, 2026 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var CatppuccinTheme = Theme{
	Name:      "catppuccin",
	Primary:   lipgloss.Color("#A6E3A1"),
	Secondary: lipgloss.Color("#89B4FA"),
	Accent:    lipgloss.Color("#F9E2AF"),
	BG:        lipgloss.Color("#1E1E2E"),
	FG:        lipgloss.Color("#CDD6F4"),
	Subtle:    lipgloss.Color("#585B70"),

	Fatal: lipgloss.Color("#CBA6F7"),
	Error: lipgloss.Color("#F38BA8"),
	Warn:  lipgloss.Color("#F9E2AF"),
	Info:  lipgloss.Color("#89B4FA"),
	Debug: lipgloss.Color("#6C7086"),

	TileBorder: lipgloss.NewStyle().
		Border(lipgloss.RoundedBorder()).
		BorderForeground(lipgloss.Color("#585B70")),

	TileBorderFocused: lipgloss.NewStyle().
		Border(lipgloss.RoundedBorder()).
		BorderForeground(lipgloss.Color("#A6E3A1")),

	TileTitle: lipgloss.NewStyle().
		Foreground(lipgloss.Color("#A6E3A1")).
		Bold(true),

	StatusBar: lipgloss.NewStyle().
		Foreground(lipgloss.Color("#CDD6F4")).
		Background(lipgloss.Color("#313244")),

	SelectedItem: lipgloss.NewStyle().
		Foreground(lipgloss.Color("#A6E3A1")).
		Bold(true),
}
View Source
var DarkTheme = Theme{
	Name:      "dark",
	Primary:   lipgloss.Color("#00FF00"),
	Secondary: lipgloss.Color("#0088FF"),
	Accent:    lipgloss.Color("#FFAA00"),
	BG:        lipgloss.Color("#000000"),
	FG:        lipgloss.Color("#CCCCCC"),
	Subtle:    lipgloss.Color("#555555"),

	Fatal: lipgloss.Color("#AA00FF"),
	Error: lipgloss.Color("#FF0000"),
	Warn:  lipgloss.Color("#FFFF00"),
	Info:  lipgloss.Color("#0088FF"),
	Debug: lipgloss.Color("#888888"),

	TileBorder: lipgloss.NewStyle().
		Border(lipgloss.RoundedBorder()).
		BorderForeground(lipgloss.Color("#555555")),

	TileBorderFocused: lipgloss.NewStyle().
		Border(lipgloss.RoundedBorder()).
		BorderForeground(lipgloss.Color("#00FF00")),

	TileTitle: lipgloss.NewStyle().
		Foreground(lipgloss.Color("#00FF00")).
		Bold(true),

	StatusBar: lipgloss.NewStyle().
		Foreground(lipgloss.Color("#CCCCCC")).
		Background(lipgloss.Color("#222222")),

	SelectedItem: lipgloss.NewStyle().
		Foreground(lipgloss.Color("#00FF00")).
		Bold(true),
}
View Source
var EmberTheme = Theme{
	Name:      "ember",
	Primary:   lipgloss.Color("#FF8C00"),
	Secondary: lipgloss.Color("#CC5500"),
	Accent:    lipgloss.Color("#FFAA33"),
	BG:        lipgloss.Color("#000000"),
	FG:        lipgloss.Color("#CCCCCC"),
	Subtle:    lipgloss.Color("#554400"),

	Fatal: lipgloss.Color("#FF0000"),
	Error: lipgloss.Color("#FF3300"),
	Warn:  lipgloss.Color("#FFAA00"),
	Info:  lipgloss.Color("#FF8C00"),
	Debug: lipgloss.Color("#665500"),

	TileBorder: lipgloss.NewStyle().
		Border(lipgloss.RoundedBorder()).
		BorderForeground(lipgloss.Color("#554400")),

	TileBorderFocused: lipgloss.NewStyle().
		Border(lipgloss.RoundedBorder()).
		BorderForeground(lipgloss.Color("#FF8C00")),

	TileTitle: lipgloss.NewStyle().
		Foreground(lipgloss.Color("#FF8C00")).
		Bold(true),

	StatusBar: lipgloss.NewStyle().
		Foreground(lipgloss.Color("#CCCCCC")).
		Background(lipgloss.Color("#1A1000")),

	SelectedItem: lipgloss.NewStyle().
		Foreground(lipgloss.Color("#FF8C00")).
		Bold(true),
}
View Source
var Keys = KeyMap{
	Help: key.NewBinding(
		key.WithKeys("?"),
		key.WithHelp("?", "help"),
	),
	Quit: key.NewBinding(
		key.WithKeys("ctrl+c"),
		key.WithHelp("ctrl+c", "quit"),
	),
	Up: key.NewBinding(
		key.WithKeys("up", "k"),
		key.WithHelp("↑/k", "up"),
	),
	Down: key.NewBinding(
		key.WithKeys("down", "j"),
		key.WithHelp("↓/j", "down"),
	),
	Left: key.NewBinding(
		key.WithKeys("left"),
		key.WithHelp("←", "left"),
	),
	Right: key.NewBinding(
		key.WithKeys("right"),
		key.WithHelp("→", "right"),
	),
	Tab: key.NewBinding(
		key.WithKeys("tab"),
		key.WithHelp("tab", "next tile"),
	),
	ShiftTab: key.NewBinding(
		key.WithKeys("shift+tab"),
		key.WithHelp("shift+tab", "switch context"),
	),
	Enter: key.NewBinding(
		key.WithKeys("enter"),
		key.WithHelp("enter", "select"),
	),
	Escape: key.NewBinding(
		key.WithKeys("esc"),
		key.WithHelp("esc", "back"),
	),
	QueryPage: key.NewBinding(
		key.WithKeys("q"),
		key.WithHelp("q", "query"),
	),
	Home: key.NewBinding(
		key.WithKeys("h"),
		key.WithHelp("h", "home"),
	),
	Settings: key.NewBinding(
		key.WithKeys("cmd+,", "ctrl+,"),
		key.WithHelp("cmd+,", "settings"),
	),
	SubmitQuery: key.NewBinding(
		key.WithKeys("shift+enter"),
		key.WithHelp("shift+enter", "submit query"),
	),
	Refresh: key.NewBinding(
		key.WithKeys("r"),
		key.WithHelp("r", "refresh"),
	),
}
View Source
var LightTheme = Theme{
	Name:      "light",
	Primary:   lipgloss.Color("#007700"),
	Secondary: lipgloss.Color("#0055CC"),
	Accent:    lipgloss.Color("#CC7700"),
	BG:        lipgloss.Color("#FFFFFF"),
	FG:        lipgloss.Color("#333333"),
	Subtle:    lipgloss.Color("#999999"),

	Fatal: lipgloss.Color("#7700AA"),
	Error: lipgloss.Color("#CC0000"),
	Warn:  lipgloss.Color("#CC8800"),
	Info:  lipgloss.Color("#0055CC"),
	Debug: lipgloss.Color("#999999"),

	TileBorder: lipgloss.NewStyle().
		Border(lipgloss.RoundedBorder()).
		BorderForeground(lipgloss.Color("#CCCCCC")),

	TileBorderFocused: lipgloss.NewStyle().
		Border(lipgloss.RoundedBorder()).
		BorderForeground(lipgloss.Color("#007700")),

	TileTitle: lipgloss.NewStyle().
		Foreground(lipgloss.Color("#007700")).
		Bold(true),

	StatusBar: lipgloss.NewStyle().
		Foreground(lipgloss.Color("#333333")).
		Background(lipgloss.Color("#EEEEEE")),

	SelectedItem: lipgloss.NewStyle().
		Foreground(lipgloss.Color("#007700")).
		Bold(true),
}

Functions

This section is empty.

Types

type App

type App struct {
	// contains filtered or unexported fields
}

func NewApp

func NewApp(cfg *config.Config, client *xaws.Client, needsSetup bool) App

func (App) Init

func (a App) Init() tea.Cmd

func (App) Update

func (a App) Update(msg tea.Msg) (tea.Model, tea.Cmd)

func (App) View

func (a App) View() string

type KeyMap

type KeyMap struct {
	Help        key.Binding
	Quit        key.Binding
	Up          key.Binding
	Down        key.Binding
	Left        key.Binding
	Right       key.Binding
	Tab         key.Binding
	ShiftTab    key.Binding
	Enter       key.Binding
	Escape      key.Binding
	QueryPage   key.Binding
	Home        key.Binding
	Settings    key.Binding
	SubmitQuery key.Binding
	Refresh     key.Binding
}

func (KeyMap) FullHelp

func (k KeyMap) FullHelp() [][]key.Binding

func (KeyMap) ShortHelp

func (k KeyMap) ShortHelp() []key.Binding

type RunSetupMsg

type RunSetupMsg struct{}

RunSetupMsg can be sent from any screen (e.g. settings) to re-launch the setup wizard.

type Screen

type Screen int
const (
	ScreenSetup Screen = iota
	ScreenDashboard
	ScreenSettings
	ScreenQuery
)

type StatusBar

type StatusBar struct {
	// contains filtered or unexported fields
}

func NewStatusBar

func NewStatusBar(theme Theme, contextName string) StatusBar

func (*StatusBar) SetContext

func (s *StatusBar) SetContext(name string)

func (*StatusBar) SetWidth

func (s *StatusBar) SetWidth(w int)

func (StatusBar) View

func (s StatusBar) View() string

func (StatusBar) ViewWithState

func (s StatusBar) ViewWithState(fetching bool, spinnerView string, lastFetch time.Time, lastErr error) string

type Theme

type Theme struct {
	Name string

	// Base colors
	Primary   lipgloss.Color
	Secondary lipgloss.Color
	Accent    lipgloss.Color
	BG        lipgloss.Color
	FG        lipgloss.Color
	Subtle    lipgloss.Color

	// Log level colors
	Fatal lipgloss.Color
	Error lipgloss.Color
	Warn  lipgloss.Color
	Info  lipgloss.Color
	Debug lipgloss.Color

	// UI element styles
	TileBorder        lipgloss.Style
	TileBorderFocused lipgloss.Style
	TileTitle         lipgloss.Style
	StatusBar         lipgloss.Style
	SelectedItem      lipgloss.Style
}

func GetTheme

func GetTheme(name string) Theme

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL