views

package
v0.0.0-...-1fd280a Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2026 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FormatRelativeTime

func FormatRelativeTime(t time.Time) string

FormatRelativeTime formats a time as a human-readable relative string.

func JSAttr

func JSAttr(s string) string

JSAttr escapes a string for use in a JavaScript string literal inside an HTML attribute. It escapes single quotes, backslashes, and newlines so the result can be used in: onclick="func('{escaped}')"

func NavScript(sessionID, shortcutsJSON, mode string) string

func StreamNavScript

func StreamNavScript(qw422016 *qt422016.Writer, sessionID, shortcutsJSON, mode string)

func WriteNavScript

func WriteNavScript(qq422016 qtio422016.Writer, sessionID, shortcutsJSON, mode string)

Types

type BasePage

type BasePage struct {
	Title    string
	Worktree *worktree.WorktreeInfo
}

func (*BasePage) BranchName

func (p *BasePage) BranchName() string

func (*BasePage) Footer

func (p *BasePage) Footer() string

func (*BasePage) Header

func (p *BasePage) Header() string

func (*BasePage) SessionID

func (p *BasePage) SessionID() string

func (*BasePage) ShortcutsJSON

func (p *BasePage) ShortcutsJSON() string

func (*BasePage) StreamFooter

func (p *BasePage) StreamFooter(qw422016 *qt422016.Writer)

func (*BasePage) StreamHeader

func (p *BasePage) StreamHeader(qw422016 *qt422016.Writer)

func (*BasePage) WorktreeName

func (p *BasePage) WorktreeName() string

func (*BasePage) WriteFooter

func (p *BasePage) WriteFooter(qq422016 qtio422016.Writer)

func (*BasePage) WriteHeader

func (p *BasePage) WriteHeader(qq422016 qtio422016.Writer)

type CaseDetailPage

type CaseDetailPage struct {
	BasePage
	WorktreeName string
	Case         *cases.CaseJSON
	Notes        string
	Traces       []cases.CaseTraceSummary
}

func (*CaseDetailPage) Render

func (p *CaseDetailPage) Render() string

func (*CaseDetailPage) StreamRender

func (p *CaseDetailPage) StreamRender(qw422016 *qt422016.Writer)

func (*CaseDetailPage) WriteRender

func (p *CaseDetailPage) WriteRender(qq422016 qtio422016.Writer)

type ClaudePage

type ClaudePage struct {
	BasePage
	WorktreeName     string
	SessionID        string
	SessionCreatedAt string // ISO 8601 timestamp
}

func (*ClaudePage) Render

func (p *ClaudePage) Render() string

func (*ClaudePage) StreamRender

func (p *ClaudePage) StreamRender(qw422016 *qt422016.Writer)

func (*ClaudePage) WriteRender

func (p *ClaudePage) WriteRender(qq422016 qtio422016.Writer)

type CrashDetailPage

type CrashDetailPage struct {
	BasePage
	Crash *crashes.Crash
}

func (*CrashDetailPage) EntriesJSON

func (p *CrashDetailPage) EntriesJSON() string

func (*CrashDetailPage) Render

func (p *CrashDetailPage) Render() string

func (*CrashDetailPage) StreamRender

func (p *CrashDetailPage) StreamRender(qw422016 *qt422016.Writer)

func (*CrashDetailPage) WriteRender

func (p *CrashDetailPage) WriteRender(qq422016 qtio422016.Writer)

type CrashesPage

type CrashesPage struct {
	BasePage
	Crashes []crashes.CrashSummary
}

func (*CrashesPage) Render

func (p *CrashesPage) Render() string

func (*CrashesPage) StreamRender

func (p *CrashesPage) StreamRender(qw422016 *qt422016.Writer)

func (*CrashesPage) WriteRender

func (p *CrashesPage) WriteRender(qq422016 qtio422016.Writer)

type DashboardPage

type DashboardPage struct {
	BasePage
	Services  []service.ServiceInfo
	Worktrees []worktree.WorktreeInfo
}

func (*DashboardPage) Render

func (p *DashboardPage) Render() string

func (*DashboardPage) StreamRender

func (p *DashboardPage) StreamRender(qw422016 *qt422016.Writer)

func (*DashboardPage) WriteRender

func (p *DashboardPage) WriteRender(qq422016 qtio422016.Writer)

type EventsPage

type EventsPage struct {
	BasePage
	Events []events.Event
}

func (*EventsPage) Render

func (p *EventsPage) Render() string

func (*EventsPage) StreamRender

func (p *EventsPage) StreamRender(qw422016 *qt422016.Writer)

func (*EventsPage) WriteRender

func (p *EventsPage) WriteRender(qq422016 qtio422016.Writer)

type LayoutColumn

type LayoutColumn struct {
	Field     string   `json:"field,omitempty"`
	Type      string   `json:"type,omitempty"`      // "" or "kvpairs"
	Keys      []string `json:"keys,omitempty"`      // For kvpairs
	MaxPairs  int      `json:"max_pairs,omitempty"` // For kvpairs (0 = all)
	MinWidth  int      `json:"min_width,omitempty"`
	MaxWidth  int      `json:"max_width,omitempty"`
	Align     string   `json:"align,omitempty"`
	Optional  bool     `json:"optional,omitempty"`
	Timestamp bool     `json:"timestamp,omitempty"` // Use timestamp formatting
}

LayoutColumn represents a column in the log display layout (for JSON serialization).

type LinkInfo

type LinkInfo struct {
	Name string `json:"name"`
	URL  string `json:"url"`
}

LinkInfo represents a link for the terminal picker.

type LogViewerInfo

type LogViewerInfo struct {
	Name           string         `json:"name"`
	Columns        []string       `json:"columns"`              // Columns to display (empty = default) - DEPRECATED
	ColumnWidths   map[string]int `json:"column_widths"`        // Column widths in characters (0 = fill) - DEPRECATED
	Layout         []LayoutColumn `json:"layout"`               // Full layout configuration
	TimestampField string         `json:"timestamp_field"`      // Parser's timestamp field name
	LevelField     string         `json:"level_field"`          // Parser's level field name
	MessageField   string         `json:"message_field"`        // Parser's message field name
	FileField      string         `json:"file_field,omitempty"` // Parser's file field name
	LineField      string         `json:"line_field,omitempty"` // Parser's line field name
	IDField        string         `json:"id_field,omitempty"`   // Parser's ID field name for trace expansion
}

LogViewerInfo represents a log viewer for the terminal picker.

type NotificationSettings

type NotificationSettings struct {
	Enabled      bool     `json:"enabled"`
	Events       []string `json:"events"`
	FailuresOnly bool     `json:"failures_only"`
	Sound        bool     `json:"sound"`
}

NotificationSettings represents browser notification configuration.

type ServiceDetailPage

type ServiceDetailPage struct {
	BasePage
	ServiceName string
	Status      service.ServiceStatus
	Logs        []string
}

func (*ServiceDetailPage) Render

func (p *ServiceDetailPage) Render() string

func (*ServiceDetailPage) StreamRender

func (p *ServiceDetailPage) StreamRender(qw422016 *qt422016.Writer)

func (*ServiceDetailPage) WriteRender

func (p *ServiceDetailPage) WriteRender(qq422016 qtio422016.Writer)

type ServiceInfo

type ServiceInfo struct {
	Name           string         `json:"name"`
	Status         string         `json:"status"`
	ParserType     string         `json:"parser_type,omitempty"`     // "json", "logfmt", "regex", "none"
	Columns        []string       `json:"columns,omitempty"`         // Deprecated: use Layout
	ColumnWidths   map[string]int `json:"column_widths,omitempty"`   // Deprecated: use Layout
	Layout         []LayoutColumn `json:"layout,omitempty"`          // Full layout configuration
	TimestampField string         `json:"timestamp_field,omitempty"` // Parser's timestamp field name
	LevelField     string         `json:"level_field,omitempty"`     // Parser's level field name
	MessageField   string         `json:"message_field,omitempty"`   // Parser's message field name
	FileField      string         `json:"file_field,omitempty"`      // Parser's file field name
	LineField      string         `json:"line_field,omitempty"`      // Parser's line field name
}

ServiceInfo represents a service for the terminal picker.

type ShortcutInfo

type ShortcutInfo struct {
	Key    string `json:"key"`
	Window string `json:"window"`
}

ShortcutInfo represents a keyboard shortcut for the terminal page. Window must start with a prefix character indicating the target type:

~name           = log viewer (e.g., ~nginx)
#name           = service (e.g., #api)
@worktree - win = local terminal (e.g., @main - dev)
!name           = remote window (e.g., !admin)

type StatusPage

type StatusPage struct {
	BasePage
	Services []service.ServiceInfo
}

func (*StatusPage) Render

func (p *StatusPage) Render() string

func (*StatusPage) StreamRender

func (p *StatusPage) StreamRender(qw422016 *qt422016.Writer)

func (*StatusPage) WriteRender

func (p *StatusPage) WriteRender(qq422016 qtio422016.Writer)

type TerminalInfo

type TerminalInfo struct {
	Session  string
	Window   string
	IsRemote bool
	Worktree string // Worktree name (e.g., "main", "feature-branch")
}

TerminalInfo represents a terminal window for display.

type TerminalPage

type TerminalPage struct {
	BasePage
	Terminals []TerminalInfo
}

func (*TerminalPage) Render

func (p *TerminalPage) Render() string

func (*TerminalPage) StreamRender

func (p *TerminalPage) StreamRender(qw422016 *qt422016.Writer)

func (*TerminalPage) WriteRender

func (p *TerminalPage) WriteRender(qq422016 qtio422016.Writer)

type TerminalWindowPage

type TerminalWindowPage struct {
	BasePage
	Session       string
	Window        string
	IsRemote      bool
	ViewType      string // "local", "remote", "service", "editor", "logviewer"
	ServiceName   string // Only for ViewType="service"
	LogViewerName string // Only for ViewType="logviewer"
	WorktreeName  string // Current worktree name (e.g., "main", "feature-branch")
	ProjectName   string
	Shortcuts     []ShortcutInfo
	Notifications NotificationSettings
	Services      []ServiceInfo
	Links         []LinkInfo
	LogViewers    []LogViewerInfo
}

func (*TerminalWindowPage) LinksJSON

func (p *TerminalWindowPage) LinksJSON() string

func (*TerminalWindowPage) LogViewersJSON

func (p *TerminalWindowPage) LogViewersJSON() string

func (*TerminalWindowPage) NotificationsJSON

func (p *TerminalWindowPage) NotificationsJSON() string

func (*TerminalWindowPage) Render

func (p *TerminalWindowPage) Render() string

func (*TerminalWindowPage) ServicesJSON

func (p *TerminalWindowPage) ServicesJSON() string

func (*TerminalWindowPage) SessionDisplayName

func (p *TerminalWindowPage) SessionDisplayName() string

SessionDisplayName returns the branch name for display (e.g., "main", "demovideos")

func (*TerminalWindowPage) ShortcutsJSON

func (p *TerminalWindowPage) ShortcutsJSON() string

func (*TerminalWindowPage) StreamLinksJSON

func (p *TerminalWindowPage) StreamLinksJSON(qw422016 *qt422016.Writer)

func (*TerminalWindowPage) StreamLogViewersJSON

func (p *TerminalWindowPage) StreamLogViewersJSON(qw422016 *qt422016.Writer)

func (*TerminalWindowPage) StreamNotificationsJSON

func (p *TerminalWindowPage) StreamNotificationsJSON(qw422016 *qt422016.Writer)

func (*TerminalWindowPage) StreamRender

func (p *TerminalWindowPage) StreamRender(qw422016 *qt422016.Writer)

func (*TerminalWindowPage) StreamServicesJSON

func (p *TerminalWindowPage) StreamServicesJSON(qw422016 *qt422016.Writer)

func (*TerminalWindowPage) StreamShortcutsJSON

func (p *TerminalWindowPage) StreamShortcutsJSON(qw422016 *qt422016.Writer)

func (*TerminalWindowPage) WriteLinksJSON

func (p *TerminalWindowPage) WriteLinksJSON(qq422016 qtio422016.Writer)

func (*TerminalWindowPage) WriteLogViewersJSON

func (p *TerminalWindowPage) WriteLogViewersJSON(qq422016 qtio422016.Writer)

func (*TerminalWindowPage) WriteNotificationsJSON

func (p *TerminalWindowPage) WriteNotificationsJSON(qq422016 qtio422016.Writer)

func (*TerminalWindowPage) WriteRender

func (p *TerminalWindowPage) WriteRender(qq422016 qtio422016.Writer)

func (*TerminalWindowPage) WriteServicesJSON

func (p *TerminalWindowPage) WriteServicesJSON(qq422016 qtio422016.Writer)

func (*TerminalWindowPage) WriteShortcutsJSON

func (p *TerminalWindowPage) WriteShortcutsJSON(qq422016 qtio422016.Writer)

type TracePage

type TracePage struct {
	BasePage
	Groups  []trace.TraceGroup
	Reports []trace.ReportSummary
}

func (*TracePage) Render

func (p *TracePage) Render() string

func (*TracePage) StreamRender

func (p *TracePage) StreamRender(qw422016 *qt422016.Writer)

func (*TracePage) WriteRender

func (p *TracePage) WriteRender(qq422016 qtio422016.Writer)

type TraceReportPage

type TraceReportPage struct {
	BasePage
	Report     *trace.TraceReport
	LogViewers []LogViewerInfo
}

func (*TraceReportPage) EntriesJSON

func (p *TraceReportPage) EntriesJSON() string

func (*TraceReportPage) LogViewersJSON

func (p *TraceReportPage) LogViewersJSON() string

func (*TraceReportPage) Render

func (p *TraceReportPage) Render() string

func (*TraceReportPage) StreamRender

func (p *TraceReportPage) StreamRender(qw422016 *qt422016.Writer)

func (*TraceReportPage) WriteRender

func (p *TraceReportPage) WriteRender(qq422016 qtio422016.Writer)

type WorkflowsPage

type WorkflowsPage struct {
	BasePage
	Workflows []workflow.WorkflowConfig
}

func (*WorkflowsPage) Render

func (p *WorkflowsPage) Render() string

func (*WorkflowsPage) StreamRender

func (p *WorkflowsPage) StreamRender(qw422016 *qt422016.Writer)

func (*WorkflowsPage) WriteRender

func (p *WorkflowsPage) WriteRender(qq422016 qtio422016.Writer)

type WorktreeHomePage

type WorktreeHomePage struct {
	BasePage
	WorktreeName    string
	Branch          string
	Cases           []cases.CaseInfo
	ClaudeSessions  []*claude.SessionInfo
	Terminals       []terminal.WindowInfo
	TmuxSessionName string // Empty if no tmux session exists
}

func (*WorktreeHomePage) Render

func (p *WorktreeHomePage) Render() string

func (*WorktreeHomePage) StreamRender

func (p *WorktreeHomePage) StreamRender(qw422016 *qt422016.Writer)

func (*WorktreeHomePage) WriteRender

func (p *WorktreeHomePage) WriteRender(qq422016 qtio422016.Writer)

type WorktreesPage

type WorktreesPage struct {
	BasePage
	Worktrees   []worktree.WorktreeInfo
	Active      *worktree.WorktreeInfo
	ProjectName string
	BinariesDir string
	Version     string
}

func (*WorktreesPage) Render

func (p *WorktreesPage) Render() string

func (*WorktreesPage) StreamRender

func (p *WorktreesPage) StreamRender(qw422016 *qt422016.Writer)

func (*WorktreesPage) WriteRender

func (p *WorktreesPage) WriteRender(qq422016 qtio422016.Writer)

Jump to

Keyboard shortcuts

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