Files
playback/internal/ui/styles.go
2026-01-25 22:28:53 -06:00

109 lines
2.5 KiB
Go

package ui
import "github.com/charmbracelet/lipgloss"
// Colors
var (
ColorPrimary = lipgloss.Color("#7C3AED") // Purple
ColorSecondary = lipgloss.Color("#10B981") // Green
ColorAccent = lipgloss.Color("#F59E0B") // Amber
ColorMuted = lipgloss.Color("#6B7280") // Gray
ColorBackground = lipgloss.Color("#1F2937") // Dark gray
ColorForeground = lipgloss.Color("#F9FAFB") // Light gray
ColorHighlight = lipgloss.Color("#374151") // Medium gray
ColorError = lipgloss.Color("#EF4444") // Red
)
// Styles
var (
// Base styles
BaseStyle = lipgloss.NewStyle().
Foreground(ColorForeground)
// Header styles
HeaderStyle = lipgloss.NewStyle().
Bold(true).
Foreground(ColorPrimary).
Padding(0, 1)
FilePathStyle = lipgloss.NewStyle().
Foreground(ColorMuted).
Italic(true)
// Waveform styles
WaveformStyle = lipgloss.NewStyle().
Border(lipgloss.RoundedBorder()).
BorderForeground(ColorMuted).
Padding(0, 1)
WaveformFocusedStyle = lipgloss.NewStyle().
Border(lipgloss.RoundedBorder()).
BorderForeground(ColorPrimary).
Padding(0, 1)
NeedleStyle = lipgloss.NewStyle().
Foreground(ColorAccent).
Bold(true)
// Transcript styles
TranscriptStyle = lipgloss.NewStyle().
Border(lipgloss.RoundedBorder()).
BorderForeground(ColorMuted).
Padding(0, 1)
TranscriptFocusedStyle = lipgloss.NewStyle().
Border(lipgloss.RoundedBorder()).
BorderForeground(ColorPrimary).
Padding(0, 1)
ActiveCueStyle = lipgloss.NewStyle().
Background(ColorSecondary).
Foreground(ColorBackground).
Bold(true)
ActiveTimestampStyle = lipgloss.NewStyle().
Foreground(ColorBackground).
Bold(true)
TimestampStyle = lipgloss.NewStyle().
Foreground(ColorMuted)
// Status bar styles
StatusBarStyle = lipgloss.NewStyle().
Foreground(ColorMuted).
Padding(0, 1)
ModeStyle = lipgloss.NewStyle().
Background(ColorPrimary).
Foreground(ColorForeground).
Padding(0, 1).
Bold(true)
InsertModeStyle = lipgloss.NewStyle().
Background(ColorSecondary).
Foreground(ColorForeground).
Padding(0, 1).
Bold(true)
CommandStyle = lipgloss.NewStyle().
Foreground(ColorAccent)
// Help styles
HelpKeyStyle = lipgloss.NewStyle().
Foreground(ColorSecondary).
Bold(true)
HelpDescStyle = lipgloss.NewStyle().
Foreground(ColorMuted)
// Legend styles
LegendGroupStyle = lipgloss.NewStyle().
Foreground(ColorMuted).
PaddingLeft(2)
// Error styles
ErrorStyle = lipgloss.NewStyle().
Foreground(ColorError).
Bold(true)
)