package tui import ( "bee/audit/internal/platform" tea "github.com/charmbracelet/bubbletea" ) func (m model) handleServicesMenu() (tea.Model, tea.Cmd) { if len(m.services) == 0 { return m, resultCmd("Services", "No bee-* services found.", nil, screenMain) } m.selectedService = m.services[m.cursor] m.screen = screenServiceAction m.cursor = 0 return m, nil } func (m model) handleServiceActionMenu() (tea.Model, tea.Cmd) { action := m.serviceMenu[m.cursor] if action == "back" { m.screen = screenServices m.cursor = 0 return m, nil } m.busy = true m.busyTitle = "service: " + m.selectedService return m, func() tea.Msg { switch action { case "Status": result, err := m.app.ServiceStatusResult(m.selectedService) return resultMsg{title: result.Title, body: result.Body, err: err, back: screenServiceAction} case "Restart": result, err := m.app.ServiceActionResult(m.selectedService, platform.ServiceRestart) return resultMsg{title: result.Title, body: result.Body, err: err, back: screenServiceAction} case "Start": result, err := m.app.ServiceActionResult(m.selectedService, platform.ServiceStart) return resultMsg{title: result.Title, body: result.Body, err: err, back: screenServiceAction} case "Stop": result, err := m.app.ServiceActionResult(m.selectedService, platform.ServiceStop) return resultMsg{title: result.Title, body: result.Body, err: err, back: screenServiceAction} default: return resultMsg{title: "Service", body: "Unknown action.", back: screenServiceAction} } } }