From 6c2bfebb20284f9b1cfd6968636c5f47377ae5b5 Mon Sep 17 00:00:00 2001 From: Wasim Yousef Said Date: Thu, 19 Mar 2026 10:04:53 +0100 Subject: [PATCH] fix(studio): mobile navbar layout and chat settings sheet (#4458) * fix(studio): mobile navbar layout and chat settings sheet * fix(studio): portal select dropdowns inside sheet modal subtree --- studio/frontend/src/components/navbar.tsx | 22 +++++-- studio/frontend/src/components/ui/dialog.tsx | 1 + studio/frontend/src/components/ui/sheet.tsx | 8 ++- .../frontend/src/features/chat/chat-page.tsx | 1 + .../src/features/chat/chat-settings-sheet.tsx | 65 ++++++++++++++----- 5 files changed, 73 insertions(+), 24 deletions(-) diff --git a/studio/frontend/src/components/navbar.tsx b/studio/frontend/src/components/navbar.tsx index 03ea77a8b2..d90276a641 100644 --- a/studio/frontend/src/components/navbar.tsx +++ b/studio/frontend/src/components/navbar.tsx @@ -209,7 +209,7 @@ export function Navbar() { {/* Right: mobile */} -
+
{tourId ? ( ) : null} +
+ Theme + +
diff --git a/studio/frontend/src/components/ui/dialog.tsx b/studio/frontend/src/components/ui/dialog.tsx index bb9e6816d5..5556c42e2b 100644 --- a/studio/frontend/src/components/ui/dialog.tsx +++ b/studio/frontend/src/components/ui/dialog.tsx @@ -189,6 +189,7 @@ export { DialogHeader, DialogOverlay, DialogPortal, + DialogPortalContainerContext, DialogTitle, DialogTrigger, }; diff --git a/studio/frontend/src/components/ui/sheet.tsx b/studio/frontend/src/components/ui/sheet.tsx index 8e7ad75e0d..d2b12e6cba 100644 --- a/studio/frontend/src/components/ui/sheet.tsx +++ b/studio/frontend/src/components/ui/sheet.tsx @@ -3,8 +3,10 @@ import { Dialog as SheetPrimitive } from "radix-ui"; import type * as React from "react"; +import { useState } from "react"; import { Button } from "@/components/ui/button"; +import { DialogPortalContainerContext } from "@/components/ui/dialog"; import { cn } from "@/lib/utils"; import { Cancel01Icon } from "@hugeicons/core-free-icons"; import { HugeiconsIcon } from "@hugeicons/react"; @@ -69,6 +71,7 @@ function SheetContent({ overlayClassName?: string; overlayPosition?: "fixed" | "absolute"; }) { + const [contentEl, setContentEl] = useState(null); return ( - {children} + + {children} + {showCloseButton && (