|
| 1 | +From 4e3f2ed78affe2a637ca47040b9025d54a7c78b3 Mon Sep 17 00:00:00 2001 |
| 2 | +From: Riajul Islam <riajul@kahf.co> |
| 3 | +Date: Wed, 22 Apr 2026 04:35:02 +0000 |
| 4 | +Subject: [PATCH] fix: hide cloud shutdown banner |
| 5 | + |
| 6 | +--- |
| 7 | + .../src/app/layout/RemoteAppShell.tsx | 12 ------------ |
| 8 | + .../ui-new/containers/SharedAppLayout.tsx | 19 +------------------ |
| 9 | + 2 files changed, 1 insertion(+), 30 deletions(-) |
| 10 | + |
| 11 | +diff --git a/packages/remote-web/src/app/layout/RemoteAppShell.tsx b/packages/remote-web/src/app/layout/RemoteAppShell.tsx |
| 12 | +index 91abafc55..eaf273d54 100644 |
| 13 | +--- a/packages/remote-web/src/app/layout/RemoteAppShell.tsx |
| 14 | ++++ b/packages/remote-web/src/app/layout/RemoteAppShell.tsx |
| 15 | +@@ -35,7 +35,6 @@ import { |
| 16 | + CreateRemoteProjectDialog, |
| 17 | + type CreateRemoteProjectResult, |
| 18 | + } from "@/shared/dialogs/org/CreateRemoteProjectDialog"; |
| 19 | +-import { CloudShutdownExportBanner } from "@/shared/components/CloudShutdownExportBanner"; |
| 20 | + |
| 21 | + interface RemoteAppShellProps { |
| 22 | + children: ReactNode; |
| 23 | +@@ -58,9 +57,6 @@ export function RemoteAppShell({ children }: RemoteAppShellProps) { |
| 24 | + const { isSignedIn } = useAuth(); |
| 25 | + const isWorkspaceContextRoute = location.pathname.includes("/workspaces"); |
| 26 | + const isProjectRoute = /^\/projects\/[^/]+/.test(location.pathname); |
| 27 | +- const isExportRoute = location.pathname === "/export"; |
| 28 | +- const showCloudShutdownBanner = |
| 29 | +- isExportRoute || (isSignedIn && isProjectRoute); |
| 30 | + |
| 31 | + useCommandBarShortcut( |
| 32 | + () => CommandBarDialog.show(), |
| 33 | +@@ -179,10 +175,6 @@ export function RemoteAppShell({ children }: RemoteAppShellProps) { |
| 34 | + [navigate], |
| 35 | + ); |
| 36 | + |
| 37 | +- const handleExportClick = useCallback(() => { |
| 38 | +- navigate({ to: "/export" }); |
| 39 | +- }, [navigate]); |
| 40 | +- |
| 41 | + const handleCreateProject = useCallback(async () => { |
| 42 | + if (!activeOrganizationId) { |
| 43 | + return; |
| 44 | +@@ -250,10 +242,6 @@ export function RemoteAppShell({ children }: RemoteAppShellProps) { |
| 45 | + : "h-screen", |
| 46 | + )} |
| 47 | + > |
| 48 | +- {showCloudShutdownBanner && ( |
| 49 | +- <CloudShutdownExportBanner onClick={handleExportClick} /> |
| 50 | +- )} |
| 51 | +- |
| 52 | + <div className="flex min-h-0 flex-1"> |
| 53 | + {!isMobile && ( |
| 54 | + <AppBar |
| 55 | +diff --git a/packages/web-core/src/shared/components/ui-new/containers/SharedAppLayout.tsx b/packages/web-core/src/shared/components/ui-new/containers/SharedAppLayout.tsx |
| 56 | +index f64a228fa..7eb17034f 100644 |
| 57 | +--- a/packages/web-core/src/shared/components/ui-new/containers/SharedAppLayout.tsx |
| 58 | ++++ b/packages/web-core/src/shared/components/ui-new/containers/SharedAppLayout.tsx |
| 59 | +@@ -31,7 +31,6 @@ import { useCurrentAppDestination } from '@/shared/hooks/useCurrentAppDestinatio |
| 60 | + import { |
| 61 | + getDestinationHostId, |
| 62 | + getProjectDestination, |
| 63 | +- isProjectDestination, |
| 64 | + isLocalWorkspacesDestination, |
| 65 | + } from '@/shared/lib/routes/appNavigation'; |
| 66 | + import { |
| 67 | +@@ -54,7 +53,6 @@ import { AppBarNotificationBellContainer } from '@/pages/workspaces/AppBarNotifi |
| 68 | + import { WorkspacesSidebarContainer } from '@/pages/workspaces/WorkspacesSidebarContainer'; |
| 69 | + import { WorkspacesSidebarReopenTag } from '@vibe/ui/components/WorkspacesSidebar'; |
| 70 | + import { useRemoteCloudHostsAppBarModel } from '@/shared/hooks/useRemoteCloudHosts'; |
| 71 | +-import { CloudShutdownExportBanner } from '@/shared/components/CloudShutdownExportBanner'; |
| 72 | + |
| 73 | + export function SharedAppLayout() { |
| 74 | + const appNavigation = useAppNavigation(); |
| 75 | +@@ -173,8 +171,6 @@ export function SharedAppLayout() { |
| 76 | + ); |
| 77 | + const isWorkspacesActive = isLocalWorkspacesDestination(currentDestination); |
| 78 | + const isExportActive = currentDestination?.kind === 'export'; |
| 79 | +- const showCloudShutdownBanner = |
| 80 | +- isExportActive || (isSignedIn && isProjectDestination(currentDestination)); |
| 81 | + const isWorkspaceSidebarPreviewEnabled = |
| 82 | + !isMobile && isWorkspacesActive && !isLeftSidebarVisible; |
| 83 | + const activeProjectId = projectDestination?.projectId ?? null; |
| 84 | +@@ -303,21 +299,11 @@ export function SharedAppLayout() { |
| 85 | + 'bg-primary', |
| 86 | + isMobile |
| 87 | + ? 'flex fixed inset-0 pb-[env(safe-area-inset-bottom)]' |
| 88 | +- : cn( |
| 89 | +- 'grid grid-cols-[auto_1fr] h-screen', |
| 90 | +- showCloudShutdownBanner |
| 91 | +- ? 'grid-rows-[auto_auto_1fr]' |
| 92 | +- : 'grid-rows-[auto_1fr]' |
| 93 | +- ) |
| 94 | ++ : 'grid grid-cols-[auto_1fr] grid-rows-[auto_1fr] h-screen' |
| 95 | + )} |
| 96 | + > |
| 97 | + {!isMobile && ( |
| 98 | + <> |
| 99 | +- {showCloudShutdownBanner && ( |
| 100 | +- <div className="col-span-2"> |
| 101 | +- <CloudShutdownExportBanner onClick={handleExportClick} /> |
| 102 | +- </div> |
| 103 | +- )} |
| 104 | + {/* Desktop corner spacer. */} |
| 105 | + <div |
| 106 | + data-tauri-drag-region |
| 107 | +@@ -405,9 +391,6 @@ export function SharedAppLayout() { |
| 108 | + |
| 109 | + {isMobile && ( |
| 110 | + <div className="flex flex-col flex-1 min-w-0 overflow-hidden"> |
| 111 | +- {showCloudShutdownBanner && ( |
| 112 | +- <CloudShutdownExportBanner onClick={handleExportClick} /> |
| 113 | +- )} |
| 114 | + <NavbarContainer |
| 115 | + mobileMode={isMobile} |
| 116 | + onOrgSelect={setSelectedOrgId} |
| 117 | +-- |
| 118 | +2.50.1 |
| 119 | + |
0 commit comments