From 1c7bb79b19a836b9354b02041daa097ca8fe7a80 Mon Sep 17 00:00:00 2001
From: "google-labs-jules[bot]"
<161369871+google-labs-jules[bot]@users.noreply.github.com>
Date: Sat, 5 Sep 2026 21:56:23 +0000
Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20Palette:=20Prevent=20sidebar=20l?=
=?UTF-8?q?ayout=20overflow=20for=20long=20text=20and=20lists?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/cli/ui/components/sidebar/FileContext.tsx | 27 ++++++++++---
.../ui/components/sidebar/MissionControl.tsx | 40 +++++++++++++------
2 files changed, 48 insertions(+), 19 deletions(-)
diff --git a/src/cli/ui/components/sidebar/FileContext.tsx b/src/cli/ui/components/sidebar/FileContext.tsx
index badf6f1c..a9043c6f 100644
--- a/src/cli/ui/components/sidebar/FileContext.tsx
+++ b/src/cli/ui/components/sidebar/FileContext.tsx
@@ -5,6 +5,7 @@ import { useUIStore } from '../../store/context.js';
export const FileContext: React.FC = () => {
const { state } = useUIStore();
+ const maxVisible = 5;
return (
@@ -17,12 +18,26 @@ export const FileContext: React.FC = () => {
No changes detected.
) : (
- state.changedFiles.map((file) => (
-
- M
- {file}
-
- ))
+ <>
+ {state.changedFiles.slice(0, maxVisible).map((file) => (
+
+ M
+
+
+ {file}
+
+
+
+ ))}
+ {state.changedFiles.length > maxVisible && (
+
+
+ ... and {state.changedFiles.length - maxVisible} more file
+ {state.changedFiles.length - maxVisible === 1 ? '' : 's'}
+
+
+ )}
+ >
)}
diff --git a/src/cli/ui/components/sidebar/MissionControl.tsx b/src/cli/ui/components/sidebar/MissionControl.tsx
index fd68624e..ae53283a 100644
--- a/src/cli/ui/components/sidebar/MissionControl.tsx
+++ b/src/cli/ui/components/sidebar/MissionControl.tsx
@@ -5,6 +5,7 @@ import { useUIStore } from '../../store/context.js';
export const MissionControl: React.FC = () => {
const { state } = useUIStore();
+ const maxVisible = 5;
return (
@@ -17,19 +18,32 @@ export const MissionControl: React.FC = () => {
No active tasks.
) : (
- state.missionTasks.map((task) => (
-
-
- {task.status === 'completed' ? '[x] ' : '[ ] '}
-
-
- {task.content}
-
-
- ))
+ <>
+ {state.missionTasks.slice(0, maxVisible).map((task) => (
+
+
+ {task.status === 'completed' ? '[x] ' : '[ ] '}
+
+
+
+ {task.content}
+
+
+
+ ))}
+ {state.missionTasks.length > maxVisible && (
+
+
+ ... and {state.missionTasks.length - maxVisible} more task
+ {state.missionTasks.length - maxVisible === 1 ? '' : 's'}
+
+
+ )}
+ >
)}