
diff --git a/app/layouts/RootLayout.tsx b/app/layouts/RootLayout.tsx
index 4c07b4eac..725c11891 100644
--- a/app/layouts/RootLayout.tsx
+++ b/app/layouts/RootLayout.tsx
@@ -8,7 +8,6 @@
import { useEffect, useRef } from 'react'
import { Outlet, useNavigation } from 'react-router'
-import { MswBanner } from '~/components/MswBanner'
import { ToastStack } from '~/components/ToastStack'
import { useCrumbs } from '~/hooks/use-crumbs'
import { useApplyTheme } from '~/stores/theme'
@@ -38,7 +37,6 @@ export default function RootLayout() {
return (
<>
- {process.env.MSW_BANNER ?
: null}
>
diff --git a/app/layouts/helpers.tsx b/app/layouts/helpers.tsx
index ffdab7970..08164c65b 100644
--- a/app/layouts/helpers.tsx
+++ b/app/layouts/helpers.tsx
@@ -13,18 +13,18 @@ import { useScrollRestoration } from '~/hooks/use-scroll-restoration'
import { SkipLinkTarget } from '~/ui/lib/SkipLink'
import { classed } from '~/util/classed'
-export const PageContainer = classed.div`min-h-full pt-(--top-bar-height)`
+export const PageContainer = classed.div`min-h-full pt-[calc(var(--top-bar-height)+var(--preview-banner-height))]`
// shared with PageSkeleton so the skeleton doesn't drift from the real layout
export const topBarWrapperClass =
- 'bg-default border-secondary fixed top-0 right-0 left-0 z-(--z-top-bar) grid h-(--top-bar-height) grid-cols-[var(--sidebar-width)_1fr] border-b'
+ 'bg-default border-secondary fixed top-(--preview-banner-height) right-0 left-0 z-(--z-top-bar) grid h-(--top-bar-height) grid-cols-[var(--sidebar-width)_1fr] border-b'
export const sidebarWrapperClass =
- 'border-secondary fixed top-(--top-bar-height) bottom-0 left-0 w-(--sidebar-width) border-r'
+ 'border-secondary fixed top-[calc(var(--top-bar-height)+var(--preview-banner-height))] bottom-0 left-0 w-(--sidebar-width) border-r'
export function ContentPane() {
useScrollRestoration()
return (
-
+
@@ -46,7 +46,7 @@ export function ContentPane() {
* `` because we don't need it.
*/
export const SerialConsoleContentPane = () => (
-
+
diff --git a/app/main.tsx b/app/main.tsx
index 1542dbe58..fdb46c35a 100644
--- a/app/main.tsx
+++ b/app/main.tsx
@@ -18,6 +18,7 @@ import { queryClient } from '@oxide/api'
import { ConfirmActionModal } from './components/ConfirmActionModal'
import { ErrorBoundary } from './components/ErrorBoundary'
+import { PreviewBannerLayout } from './components/MswBanner'
// stripped out by rollup in production
import { startMockAPI } from './msw-mock-api'
import { routes } from './routes'
@@ -51,11 +52,13 @@ function render() {
-
-
-
-
-
+
+
+
+
+
+
+
{/* */}
diff --git a/app/pages/project/instances/SerialConsolePage.tsx b/app/pages/project/instances/SerialConsolePage.tsx
index 0b5328c46..254f3519f 100644
--- a/app/pages/project/instances/SerialConsolePage.tsx
+++ b/app/pages/project/instances/SerialConsolePage.tsx
@@ -136,7 +136,7 @@ export default function SerialConsolePage() {
}, [canConnect])
return (
-