Documentation
¶
Index ¶
- Variables
- func BroadcastStatusIcon(status string) string
- func LogLevelIcon(level string) string
- func ProtocolIcon(protocol string) string
- func StatusIcon(active bool) string
- func StreamTypeIcon(streamType string) string
- type ResponsiveLayout
- type RichDashboardModel
- func (m *RichDashboardModel) AddLogEntry(level, component, message string)
- func (m *RichDashboardModel) Cleanup()
- func (m *RichDashboardModel) Init() tea.Cmd
- func (m *RichDashboardModel) Reset()
- func (m *RichDashboardModel) SetPhase(phase string)
- func (m *RichDashboardModel) SetProgress(progress int)
- func (m *RichDashboardModel) Update(msg tea.Msg) (tea.Model, tea.Cmd)
- func (m *RichDashboardModel) UpdateStats(stats interface{})
- func (m *RichDashboardModel) View() string
- type TestEnvironment
Constants ¶
This section is empty.
Variables ¶
var ( // Primary broadcast colors Primary = lipgloss.Color("#FF6B35") // Broadcast Orange/Red Secondary = lipgloss.Color("#1E88E5") // Broadcast Blue Success = lipgloss.Color("#4CAF50") // Professional Green (readable) Warning = lipgloss.Color("#FFB74D") // Amber warning Error = lipgloss.Color("#F44336") // Alert Red // Text and background colors for dark broadcast theme Text = lipgloss.Color("#E0E0E0") // Light text for dark background TextBright = lipgloss.Color("#FFFFFF") // Bright white text White = lipgloss.Color("#FFFFFF") // White (compatibility) Muted = lipgloss.Color("#90A4AE") // Muted gray for secondary info // Alternative success colors for better readability SuccessAlt = lipgloss.Color("#81C784") // Lighter readable green LiveGreen = lipgloss.Color("#66BB6A") // Softer live indicator green // Background colors - dark broadcast studio aesthetic Background = lipgloss.Color("#0D1117") // Deep dark background PanelBg = lipgloss.Color("#161B26") // Panel background HeaderBg = lipgloss.Color("#1C2128") // Header background BorderDark = lipgloss.Color("#30363D") // Dark borders // Broadcast-specific accent colors OnAir = lipgloss.Color("#FF1744") // On-air red Recording = lipgloss.Color("#FF5722") // Recording orange Standby = lipgloss.Color("#FFC107") // Standby yellow Offline = lipgloss.Color("#424242") // Offline gray // Modern broadcast gradient colors GradientStart = lipgloss.Color("#1565C0") // Deep broadcast blue GradientEnd = lipgloss.Color("#283593") // Dark purple-blue // Adaptive colors for modern broadcast look CardBg = lipgloss.AdaptiveColor{Light: "#F5F5F5", Dark: "#161B26"} BorderColor = lipgloss.AdaptiveColor{Light: "#DDDDDD", Dark: "#30363D"} AccentBg = lipgloss.AdaptiveColor{Light: "#E3F2FD", Dark: "#1A237E"} )
Broadcast-focused color palette with modern dark theme
var ( HeaderStyle = lipgloss.NewStyle(). Foreground(TextBright). Background(HeaderBg). Padding(1, 2). Bold(true). Align(lipgloss.Center). Border(lipgloss.RoundedBorder()). BorderForeground(Primary) PanelStyle = lipgloss.NewStyle(). Border(lipgloss.RoundedBorder()). BorderForeground(BorderDark). Background(PanelBg). Foreground(Text). Padding(1, 2). MarginBottom(1). Width(50) BroadcastPanelStyle = lipgloss.NewStyle(). Border(lipgloss.ThickBorder()). BorderForeground(Primary). Background(PanelBg). Foreground(Text). Padding(1, 2) PanelTitleStyle = lipgloss.NewStyle(). Foreground(Primary). Background(PanelBg). Bold(true). Padding(0, 1) OnAirStyle = lipgloss.NewStyle(). Foreground(OnAir). Bold(true). Background(PanelBg) SuccessStyle = lipgloss.NewStyle(). Foreground(Success). Bold(true) ErrorStyle = lipgloss.NewStyle(). Foreground(Error). Bold(true) WarningStyle = lipgloss.NewStyle(). Foreground(Warning). Bold(true) InfoStyle = lipgloss.NewStyle(). Foreground(Secondary). Bold(true) MutedStyle = lipgloss.NewStyle(). Foreground(Muted) MetricStyle = lipgloss.NewStyle(). Foreground(Primary). Bold(true). Background(PanelBg). Padding(0, 1) ValueStyle = lipgloss.NewStyle(). Foreground(TextBright). Bold(true). Background(PanelBg). Padding(0, 1) ActiveStyle = lipgloss.NewStyle(). Foreground(LiveGreen). Background(PanelBg). Bold(true). Padding(0, 1) InactiveStyle = lipgloss.NewStyle(). Foreground(Offline). Background(PanelBg). Bold(true). Padding(0, 1) // New broadcast-specific styles LiveStyle = lipgloss.NewStyle(). Foreground(OnAir). Background(PanelBg). Bold(true). Padding(0, 1). Border(lipgloss.RoundedBorder()). BorderForeground(OnAir) RecordingStyle = lipgloss.NewStyle(). Foreground(Recording). Background(PanelBg). Bold(true). Padding(0, 1) StandbyStyle = lipgloss.NewStyle(). Foreground(Standby). Background(PanelBg). Bold(true). Padding(0, 1) )
Broadcast-focused style definitions with dark theme
var ( // High contrast alternatives for poor terminal support HighContrastSuccess = lipgloss.Color("#00FF00") // Fallback bright green HighContrastError = lipgloss.Color("#FF0000") // Fallback bright red HighContrastWarning = lipgloss.Color("#FFFF00") // Fallback bright yellow )
Terminal readability enhancements
Functions ¶
func BroadcastStatusIcon ¶
func LogLevelIcon ¶
func ProtocolIcon ¶
func StatusIcon ¶
Helper functions for broadcast-style indicators
func StreamTypeIcon ¶
Types ¶
type ResponsiveLayout ¶
type ResponsiveLayout struct {
Type string // mobile, tablet, desktop, ultrawide
Width int
Height int
Columns int // Number of columns
ShowDetails bool // Whether to show detailed information
CompactMode bool // Whether to use compact display
PanelHeight int // Height for individual panels
CardWidth int // Width for cards
ShowActivity bool // Whether to show activity panel
}
ResponsiveLayout defines the layout configuration for different screen sizes
type RichDashboardModel ¶
type RichDashboardModel struct {
// contains filtered or unexported fields
}
RichDashboardModel represents the Rich dashboard state
func NewRichDashboardModel ¶
func NewRichDashboardModel(env TestEnvironment, ffmpegMode bool) *RichDashboardModel
NewRichDashboardModel creates a new Rich dashboard model
func (*RichDashboardModel) AddLogEntry ¶
func (m *RichDashboardModel) AddLogEntry(level, component, message string)
AddLogEntry adds a log entry to the dashboard
func (*RichDashboardModel) Cleanup ¶
func (m *RichDashboardModel) Cleanup()
Cleanup performs cleanup when the dashboard stops
func (*RichDashboardModel) Init ¶
func (m *RichDashboardModel) Init() tea.Cmd
Init implements tea.Model
func (*RichDashboardModel) Reset ¶
func (m *RichDashboardModel) Reset()
Reset clears all dashboard state for clean restart
func (*RichDashboardModel) SetPhase ¶
func (m *RichDashboardModel) SetPhase(phase string)
SetPhase updates the current test phase
func (*RichDashboardModel) SetProgress ¶
func (m *RichDashboardModel) SetProgress(progress int)
SetProgress updates the progress percentage
func (*RichDashboardModel) UpdateStats ¶
func (m *RichDashboardModel) UpdateStats(stats interface{})
UpdateStats updates the model stats from external source
func (*RichDashboardModel) View ¶
func (m *RichDashboardModel) View() string
View implements tea.Model
type TestEnvironment ¶
TestEnvironment interface to avoid import cycle