Skip to content

Commit 6214d59

Browse files
iamriajulRiajul Islam
andauthored
fix: hide cloud shutdown banner (#38)
Co-authored-by: Riajul Islam <riajul@kahf.co>
1 parent fd17af1 commit 6214d59

2 files changed

Lines changed: 120 additions & 0 deletions

File tree

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
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+

patches/series

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,4 @@
1919
0018-feat-allowed-email-domains-restriction.patch
2020
0019-feat-support-env-configured-editor-onboarding.patch
2121
0020-fix-scope-org-selection-persistence-per-authenticated-user.patch
22+
0021-fix-hide-cloud-shutdown-banner.patch

0 commit comments

Comments
 (0)