diff options
| author | Paul Buetow <paul@buetow.org> | 2026-04-08 22:28:58 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-04-08 22:28:58 +0300 |
| commit | 0e50deac87fc528636743dc5d02ca00b66679116 (patch) | |
| tree | 3ec35653d7de106b51ba81783ea82d59cfae4988 | |
| parent | 7e786c4f755fe9ccb4537fc801dfd4470e10a473 (diff) | |
refactor task h screen rendering
| -rw-r--r-- | internal/ui/table.go | 49 |
1 files changed, 31 insertions, 18 deletions
diff --git a/internal/ui/table.go b/internal/ui/table.go index 36078f4..f41472b 100644 --- a/internal/ui/table.go +++ b/internal/ui/table.go @@ -684,26 +684,16 @@ func (m *Model) handleBlinkMsg() (tea.Model, tea.Cmd) { // View renders the table UI. func (m Model) View() tea.View { var content string - if m.showHelp { + switch { + case m.showHelp: m.updateHelpContent() content = m.renderHelpScreen() - } else if m.showTaskDetail { - content = m.renderTaskDetail() - } else if m.showUltra { - content = m.renderUltraModus() - } else { - // expandedCellView is only appended when the user has toggled the - // expanded-cell panel open; including it unconditionally caused a - // double-render whenever cellExpanded was true. - view := lipgloss.JoinVertical(lipgloss.Left, - m.topStatusLine(), - m.tbl.View(), - m.statusLine(), - ) - if m.cellExpanded { - view = lipgloss.JoinVertical(lipgloss.Left, view, m.expandedCellView()) - } - content = m.appendInlineInputOverlay(view) + case m.showTaskDetail: + content = m.renderDetailScreen() + case m.showUltra: + content = m.renderUltraScreen() + default: + content = m.renderTableScreen() } v := tea.NewView(content) @@ -745,6 +735,29 @@ func (m Model) appendInlineInputOverlay(view string) string { return view } +func (m Model) renderDetailScreen() string { + return m.renderTaskDetail() +} + +func (m Model) renderUltraScreen() string { + return m.renderUltraModus() +} + +func (m Model) renderTableScreen() string { + // expandedCellView is only appended when the user has toggled the + // expanded-cell panel open; including it unconditionally caused a + // double-render whenever cellExpanded was true. + view := lipgloss.JoinVertical(lipgloss.Left, + m.topStatusLine(), + m.tbl.View(), + m.statusLine(), + ) + if m.cellExpanded { + view = lipgloss.JoinVertical(lipgloss.Left, view, m.expandedCellView()) + } + return m.appendInlineInputOverlay(view) +} + // updateHelpContent updates the help viewport content func (m *Model) updateHelpContent() { m.helpViewport.SetContent(m.activeHelpContent()) |
