diff --git a/.jules/palette.md b/.jules/palette.md new file mode 100644 index 00000000..657dcdfb --- /dev/null +++ b/.jules/palette.md @@ -0,0 +1,5 @@ +## Initial Palette Journal + +## 2026-08-28 - Truncated Dynamic Lists Need Indicators +**Learning:** When displaying dynamic lists in terminal UIs (such as those using `ink`), truncating the list to fit constraints without a visual indicator causes users to lose situational awareness of remaining items. +**Action:** Always include an explicit visual indicator (like '... and X more tasks') when applying a `maxVisible` limit to a dynamic list. \ No newline at end of file diff --git a/src/cli/ui/components/TodoDrawer.tsx b/src/cli/ui/components/TodoDrawer.tsx index 8304d871..42deed62 100644 --- a/src/cli/ui/components/TodoDrawer.tsx +++ b/src/cli/ui/components/TodoDrawer.tsx @@ -118,21 +118,31 @@ export function TodoDrawer({ No tasks yet. ) : ( - visibleTodos.map((t) => ( - - - {statusIcon(t.status)} + <> + {visibleTodos.map((t) => ( + + + {statusIcon(t.status)} + + + {priorityIcon(t.priority)} + + + + {t.text} + + - - {priorityIcon(t.priority)} - - - - {t.text} + ))} + {todos.length > maxVisible && ( + + + ... and {todos.length - maxVisible} more task + {todos.length - maxVisible !== 1 ? 's' : ''} - - )) + )} + )} )}