renderLeanWorkingIndicator renders a single-line working/pause indicator for lean mode.
()
| 2461 | // renderLeanWorkingIndicator renders a single-line working/pause indicator for |
| 2462 | // lean mode. |
| 2463 | func (m *appModel) renderLeanWorkingIndicator() string { |
| 2464 | innerWidth := m.width - appPaddingHorizontal |
| 2465 | var line string |
| 2466 | switch m.sessionState.PauseState() { |
| 2467 | case service.PausePaused: |
| 2468 | line = styles.WarningStyle.Render("⏸ Paused") + " " + styles.MutedStyle.Render("(/pause to resume)") |
| 2469 | case service.PausePausing: |
| 2470 | line = m.workingSpinner.View() + " " + styles.WarningStyle.Render("Pausing… (finishing current request)") |
| 2471 | default: |
| 2472 | workingText := "Working\u2026" |
| 2473 | if queueLen := m.chatPage.QueueLength(); queueLen > 0 { |
| 2474 | workingText = fmt.Sprintf("Working\u2026 (%d queued)", queueLen) |
| 2475 | } |
| 2476 | line = m.workingSpinner.View() + " " + styles.SpinnerDotsHighlightStyle.Render(workingText) |
| 2477 | } |
| 2478 | return lipgloss.NewStyle().Padding(0, styles.AppPadding).Width(innerWidth + appPaddingHorizontal).Render(line) |
| 2479 | } |
| 2480 | |
| 2481 | // renderResizeHandle renders the draggable separator between content and bottom panel. |
| 2482 | func (m *appModel) renderResizeHandle(width int) string { |
no test coverage detected