// Package feed provides a TUI for the Gas Town activity feed. package feed import "github.com/charmbracelet/lipgloss" // Color palette var ( colorPrimary = lipgloss.Color("12") // Blue colorSuccess = lipgloss.Color("10") // Green colorWarning = lipgloss.Color("11") // Yellow colorError = lipgloss.Color("9") // Red colorDim = lipgloss.Color("8") // Gray colorHighlight = lipgloss.Color("14") // Cyan colorAccent = lipgloss.Color("13") // Magenta ) // Styles for the feed TUI var ( // Header styles HeaderStyle = lipgloss.NewStyle(). Bold(true). Foreground(colorPrimary). Padding(0, 1) TitleStyle = lipgloss.NewStyle(). Bold(true). Foreground(lipgloss.Color("15")) FilterStyle = lipgloss.NewStyle(). Foreground(colorDim) // Agent tree styles TreePanelStyle = lipgloss.NewStyle(). Border(lipgloss.RoundedBorder()). BorderForeground(colorDim). Padding(0, 1) RigStyle = lipgloss.NewStyle(). Bold(true). Foreground(colorPrimary) RoleStyle = lipgloss.NewStyle(). Foreground(colorAccent) AgentNameStyle = lipgloss.NewStyle(). Foreground(lipgloss.Color("15")) AgentActiveStyle = lipgloss.NewStyle(). Foreground(colorSuccess) AgentIdleStyle = lipgloss.NewStyle(). Foreground(colorDim) // Event stream styles StreamPanelStyle = lipgloss.NewStyle(). Border(lipgloss.RoundedBorder()). BorderForeground(colorDim). Padding(0, 1) TimestampStyle = lipgloss.NewStyle(). Foreground(colorDim) EventCreateStyle = lipgloss.NewStyle(). Foreground(colorSuccess) EventUpdateStyle = lipgloss.NewStyle(). Foreground(colorPrimary) EventCompleteStyle = lipgloss.NewStyle(). Foreground(colorSuccess). Bold(true) EventFailStyle = lipgloss.NewStyle(). Foreground(colorError). Bold(true) EventDeleteStyle = lipgloss.NewStyle(). Foreground(colorWarning) // Status bar styles StatusBarStyle = lipgloss.NewStyle(). Background(lipgloss.Color("236")). Foreground(colorDim). Padding(0, 1) HelpKeyStyle = lipgloss.NewStyle(). Foreground(colorHighlight). Bold(true) HelpDescStyle = lipgloss.NewStyle(). Foreground(colorDim) // Focus indicator FocusedBorderStyle = lipgloss.NewStyle(). Border(lipgloss.RoundedBorder()). BorderForeground(colorPrimary). Padding(0, 1) // Role icons RoleIcons = map[string]string{ "mayor": "🎩", "witness": "👁", "refinery": "🏭", "crew": "👷", "polecat": "😺", "deacon": "🔔", } // Event symbols EventSymbols = map[string]string{ "create": "+", "update": "→", "complete": "✓", "fail": "✗", "delete": "⊘", "pin": "📌", } )