package tui import ( tea "github.com/charmbracelet/bubbletea" ) func (m model) handleMainMenu() (tea.Model, tea.Cmd) { switch m.cursor { case 0: m.screen = screenNetwork m.cursor = 0 return m, nil case 1: m.busy = true m.busyTitle = "Services" return m, func() tea.Msg { services, err := m.app.ListBeeServices() return servicesMsg{services: services, err: err} } case 2: m.screen = screenAcceptance m.cursor = 0 return m, nil case 3: m.busy = true m.busyTitle = "Run audit" return m, func() tea.Msg { result, err := m.app.RunAuditNow(m.runtimeMode) return resultMsg{title: result.Title, body: result.Body, err: err, back: screenMain} } case 4: m.busy = true m.busyTitle = "Run self-check" return m, func() tea.Msg { result, err := m.app.RunRuntimePreflightResult() return resultMsg{title: result.Title, body: result.Body, err: err, back: screenMain} } case 5: m.pendingAction = actionExportAudit m.busy = true m.busyTitle = "Export audit" return m, func() tea.Msg { targets, err := m.app.ListRemovableTargets() return exportTargetsMsg{targets: targets, err: err} } case 6: m.pendingAction = actionExportBundle m.busy = true m.busyTitle = "Export support bundle" return m, func() tea.Msg { targets, err := m.app.ListRemovableTargets() return exportTargetsMsg{targets: targets, err: err} } case 7: m.busy = true m.busyTitle = "Required tools" return m, func() tea.Msg { result := m.app.ToolCheckResult([]string{"dmidecode", "smartctl", "nvme", "ipmitool", "lspci", "ethtool", "bee", "nvidia-smi", "bee-gpu-stress", "memtester", "dhclient", "lsblk", "mount"}) return resultMsg{title: result.Title, body: result.Body, back: screenMain} } case 8: m.busy = true m.busyTitle = "Health summary" return m, func() tea.Msg { result := m.app.HealthSummaryResult() return resultMsg{title: result.Title, body: result.Body, back: screenMain} } case 9: m.busy = true m.busyTitle = "Runtime issues" return m, func() tea.Msg { result := m.app.RuntimeHealthResult() return resultMsg{title: result.Title, body: result.Body, back: screenMain} } case 10: m.busy = true m.busyTitle = "Audit logs" return m, func() tea.Msg { result := m.app.AuditLogTailResult() return resultMsg{title: result.Title, body: result.Body, back: screenMain} } case 11: return m, tea.Quit } return m, nil }