From 3b24bf2fb2cd2e06741b0b8ebf01f4a478fcfb27 Mon Sep 17 00:00:00 2001 From: Mahesh Sanikommu Date: Fri, 29 May 2026 08:17:17 -0700 Subject: [PATCH] fix(web): make Nova chat mobile-native instead of full-screen takeover (#1021) --- apps/web/app/(app)/page.tsx | 2 +- apps/web/app/layout.tsx | 1 + apps/web/components/chat/index.tsx | 54 +++++++++--------------------- 3 files changed, 18 insertions(+), 39 deletions(-) diff --git a/apps/web/app/(app)/page.tsx b/apps/web/app/(app)/page.tsx index c177ec1e..120bd2b9 100644 --- a/apps/web/app/(app)/page.tsx +++ b/apps/web/app/(app)/page.tsx @@ -562,7 +562,7 @@ export default function NewPage() { const isDashboardShell = viewMode === "dashboard" || (viewMode === "graph" && isMobile) const isGraphMode = viewMode === "graph" - const showBottomNav = isMobile && !isChatView && !!session + const showBottomNav = isMobile && !!session return ( diff --git a/apps/web/app/layout.tsx b/apps/web/app/layout.tsx index 5218f989..f044e533 100644 --- a/apps/web/app/layout.tsx +++ b/apps/web/app/layout.tsx @@ -38,6 +38,7 @@ export const viewport: Viewport = { width: "device-width", initialScale: 1, viewportFit: "cover", + interactiveWidget: "resizes-content", } export default function RootLayout({ diff --git a/apps/web/components/chat/index.tsx b/apps/web/components/chat/index.tsx index c8ebb1e1..af21ddfa 100644 --- a/apps/web/components/chat/index.tsx +++ b/apps/web/components/chat/index.tsx @@ -19,7 +19,6 @@ import { } from "@ui/components/sheet" import { ScrollArea } from "@ui/components/scroll-area" import { - ArrowLeft, Check, ChevronDownIcon, HistoryIcon, @@ -97,7 +96,7 @@ export function ChatLaunchFab({ export function ChatSidebar({ isChatOpen, - setIsChatOpen, + setIsChatOpen: _setIsChatOpen, queuedMessage, queuedHighlightContent, onConsumeQueuedMessage, @@ -781,8 +780,7 @@ export function ChatSidebar({ const isStackedInput = layout === "page" const showHeaderRow = !isPageDesktop || isMobile || !isStackedInput const isResponding = status === "submitted" || status === "streaming" - const showInputStatusStrip = - !isStackedInput || isResponding || messages.length > 0 + const showInputStatusStrip = !isStackedInput const chatHistorySheet = (
- {layout === "page" && isMobile && ( - - )} {!isStackedInput && ( <> 0 ? cn( "flex flex-col space-y-3 min-h-full justify-end", - isPageDesktop ? "pt-2" : "pt-14", + isPageDesktop || isMobile ? "pt-2" : "pt-14", ) : "" } @@ -1142,7 +1128,9 @@ export function ChatSidebar({ className={cn( "shrink-0", isStackedInput && - "pb-[max(1.25rem,calc(env(safe-area-inset-bottom)+1rem))] md:pb-6", + (isMobile + ? "px-4 pb-2" + : "px-4 pb-[max(1.25rem,calc(env(safe-area-inset-bottom)+1rem))] md:pb-6"), )} >