From c0126736594e1cc2021ce384f433d763291350b0 Mon Sep 17 00:00:00 2001 From: varutasu <104105839+varutasu@users.noreply.github.com> Date: Tue, 3 Nov 2026 04:38:45 +0000 Subject: [PATCH] fix(app-shell): restore missing props on TopHeader, Sidebar, and SearchDialog to fix runtime error on rail click --- apps/web/components/layout/app-shell.tsx | 43 +++++++++++++++++++++--- 1 file changed, 39 insertions(+), 4 deletions(-) diff --git a/apps/web/components/layout/app-shell.tsx b/apps/web/components/layout/app-shell.tsx index 82d3de0..deef73e 100644 --- a/apps/web/components/layout/app-shell.tsx +++ b/apps/web/components/layout/app-shell.tsx @@ -2,6 +2,7 @@ import type { ReactNode } from "react"; import { useEffect, useState } from "react"; + import { TooltipProvider } from "@/components/ui/tooltip"; import { IconRail } from "@/components/layout/icon-rail"; import { TopHeader } from "@/components/layout/top-header"; @@ -12,21 +13,55 @@ import { CreateObjectDialog } from "@/components/objects"; import { SearchDialog } from "@/components/search"; export function AppShell({ children }: { children: ReactNode }) { - // Simplified AppShell without chat logic for now + const [searchOpen, setSearchOpen] = useState(false); + const [createOpen, setCreateOpen] = useState(false); + const [createType, setCreateType] = useState(); + + useEffect(() => { + const onKey = (e: KeyboardEvent) => { + const isSlash = e.key === "/" || e.code === "Slash"; + if (!isSlash || !(e.metaKey || e.ctrlKey)) return; + const t = e.target as HTMLElement | null; + if (t?.closest?.("[data-search-dialog-ignore-shortcut]")) return; + e.preventDefault(); + setSearchOpen(true); + }; + document.addEventListener("keydown", onKey, true); + return () => document.removeEventListener("keydown", onKey, true); + }, []); + return (
- + setSearchOpen(true)} + onQuickAction={(type) => { + setCreateType(type); + setCreateOpen(true); + }} + />
+ setSearchOpen(true)} + onQuickAction={(type) => { + setCreateType(type); + setCreateOpen(true); + }} + />
-
{children}
+ +
); -} \ No newline at end of file +}