summaryrefslogtreecommitdiff
path: root/internal/ui
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-04-08 22:28:58 +0300
committerPaul Buetow <paul@buetow.org>2026-04-08 22:28:58 +0300
commit0e50deac87fc528636743dc5d02ca00b66679116 (patch)
tree3ec35653d7de106b51ba81783ea82d59cfae4988 /internal/ui
parent7e786c4f755fe9ccb4537fc801dfd4470e10a473 (diff)
refactor task h screen rendering
Diffstat (limited to 'internal/ui')
-rw-r--r--internal/ui/table.go49
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())