109 lines
2.5 KiB
Go
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(ColorForeground).
|
|
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)
|
|
)
|