From 5a8e0161830b34f722aff7e66f2ef8a6ae1ef7ae Mon Sep 17 00:00:00 2001 From: Tyler Koenig Date: Thu, 14 May 2026 01:17:36 -0400 Subject: [PATCH] feat(tui): enhanced dashboard with lipgloss tables, huh forms, mouse support, and animations Split monolithic tui.go into per-tab view files. Added sparkline history tracking, color-coded latency/uptime, rounded bordered tables, Dracula-themed huh forms with conditional groups, BubbleZone mouse click support for tabs and rows, and Harmonica spring-physics pulse indicator. Includes --demo flag for seeding test data. --- internal/tui/tui.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/internal/tui/tui.go b/internal/tui/tui.go index 4dcf90b..4fcc442 100644 --- a/internal/tui/tui.go +++ b/internal/tui/tui.go @@ -157,6 +157,29 @@ func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { } switch m.state { + case stateFormSite, stateFormAlert, stateFormUser: + if msg.String() == "esc" { + m.huhForm = nil + m.state = stateDashboard + if m.currentTab == 3 { + m.state = stateUsers + } + return m, nil + } + + if m.huhForm != nil { + form, formCmd := m.huhForm.Update(msg) + if f, ok := form.(*huh.Form); ok { + m.huhForm = f + } + if m.huhForm.State == huh.StateCompleted { + m.submitForm() + m.refreshData() + m.huhForm = nil + } + return m, formCmd + } + case stateDashboard, stateLogs, stateUsers: switch msg.String() { case "q":