diff --git a/web/src/App.tsx b/web/src/App.tsx index ecefe3051..6a432d864 100644 --- a/web/src/App.tsx +++ b/web/src/App.tsx @@ -199,7 +199,7 @@ export default function App() { className={` fixed inset-y-0 left-0 md:relative md:inset-auto z-40 md:z-auto h-full shrink-0 transition-all duration-200 pt-safe md:pt-0 - ${sidebarOpen ? "w-full md:w-[260px] translate-x-0" : "w-0 -translate-x-full md:w-0 md:-translate-x-full"} + ${sidebarOpen ? "w-full md:w-[288px] translate-x-0" : "w-0 -translate-x-full md:w-0 md:-translate-x-full"} overflow-hidden `} > diff --git a/web/src/components/ChatView.tsx b/web/src/components/ChatView.tsx index 346224d9a..c3b1e9fcb 100644 --- a/web/src/components/ChatView.tsx +++ b/web/src/components/ChatView.tsx @@ -56,10 +56,10 @@ export function ChatView({ sessionId }: { sessionId: string }) { const showCliBanner = connStatus === "connected" && !cliConnected; return ( -
+
{/* CLI disconnected / reconnecting / error banner */} {showCliBanner && ( -
+
{reconnectError ? ( <> @@ -99,7 +99,7 @@ export function ChatView({ sessionId }: { sessionId: string }) { {/* WebSocket disconnected banner */} {connStatus === "disconnected" && ( -
+
Reconnecting to session... @@ -112,7 +112,7 @@ export function ChatView({ sessionId }: { sessionId: string }) { {/* AI auto-resolved notification (most recent only) */} {aiResolved && aiResolved.length > 0 && ( -
+
clearAiResolvedPermissions(sessionId)} @@ -122,7 +122,7 @@ export function ChatView({ sessionId }: { sessionId: string }) { {/* Permission banners */} {perms.length > 0 && ( -
+
{perms.map((p) => ( ))} diff --git a/web/src/components/Composer.tsx b/web/src/components/Composer.tsx index d76aa65e5..40fd590c2 100644 --- a/web/src/components/Composer.tsx +++ b/web/src/components/Composer.tsx @@ -343,7 +343,7 @@ export function Composer({ sessionId }: { sessionId: string }) { const canSend = text.trim().length > 0 && isConnected; return ( -
+
{/* Image thumbnails */} {images.length > 0 && ( @@ -414,7 +414,7 @@ export function Composer({ sessionId }: { sessionId: string }) { )} {/* Input container: flat separator on mobile, card on desktop */} -
0 && (
{filteredCommands.map((cmd, i) => (