From ceff47ba77f447e63a050bb8cc4f6fe4bd094830 Mon Sep 17 00:00:00 2001 From: Abhimanyu Saharan Date: Sat, 7 Feb 2026 00:45:34 +0530 Subject: [PATCH] feat: enhance onboarding experience by managing overflow behavior and improving dialog close button accessibility --- .../src/app/boards/[boardId]/edit/page.tsx | 40 +++++++++++++------ frontend/src/components/ui/dialog.tsx | 2 +- 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/frontend/src/app/boards/[boardId]/edit/page.tsx b/frontend/src/app/boards/[boardId]/edit/page.tsx index 300e89e2..94aa7c60 100644 --- a/frontend/src/app/boards/[boardId]/edit/page.tsx +++ b/frontend/src/app/boards/[boardId]/edit/page.tsx @@ -1,6 +1,6 @@ "use client"; -import { useEffect, useMemo, useState } from "react"; +import { useEffect, useMemo, useRef, useState } from "react"; import { useParams, useRouter, useSearchParams } from "next/navigation"; import { SignInButton, SignedIn, SignedOut, useAuth } from "@clerk/nextjs"; @@ -55,6 +55,8 @@ export default function EditBoardPage() { const boardIdParam = params?.boardId; const boardId = Array.isArray(boardIdParam) ? boardIdParam[0] : boardIdParam; + const mainRef = useRef(null); + const [board, setBoard] = useState(null); const [name, setName] = useState(undefined); const [gatewayId, setGatewayId] = useState(undefined); @@ -78,6 +80,19 @@ export default function EditBoardPage() { const [isOnboardingOpen, setIsOnboardingOpen] = useState(shouldAutoOpenOnboarding); + useEffect(() => { + const mainEl = mainRef.current; + if (!mainEl) return; + if (!isOnboardingOpen) return; + + const previousOverflow = mainEl.style.overflow; + mainEl.style.overflow = "hidden"; + + return () => { + mainEl.style.overflow = previousOverflow; + }; + }, [isOnboardingOpen]); + useEffect(() => { if (!boardId) return; if (!shouldAutoOpenOnboarding) return; @@ -233,7 +248,7 @@ export default function EditBoardPage() { -
+

@@ -397,19 +412,20 @@ export default function EditBoardPage() { event.preventDefault()} onInteractOutside={(event) => event.preventDefault()} > - - - +
+ + + +
{boardId ? (