Fix: Hydration mismatch by extracting MobileSidebar and using isMounted check
This commit is contained in:
@@ -1,19 +1,13 @@
|
||||
'use client'
|
||||
|
||||
import { MainNav } from "@/components/main-nav"
|
||||
import { UserNav } from "@/components/user-nav"
|
||||
import { Building, Menu } from "lucide-react"
|
||||
import { Sheet, SheetContent, SheetTrigger } from "@/components/ui/sheet"
|
||||
import { Button } from "@/components/ui/button"
|
||||
import { useState } from "react"
|
||||
import { Building } from "lucide-react"
|
||||
import { MobileSidebar } from "@/components/mobile-sidebar"
|
||||
|
||||
export default function DashboardLayout({
|
||||
children,
|
||||
}: {
|
||||
children: React.ReactNode
|
||||
}) {
|
||||
const [isMobileOpen, setIsMobileOpen] = useState(false)
|
||||
|
||||
return (
|
||||
<div className="flex min-h-screen bg-gray-50/50 dark:bg-gray-900/50">
|
||||
{/* Desktop Sidebar */}
|
||||
@@ -26,17 +20,7 @@ export default function DashboardLayout({
|
||||
{/* Header */}
|
||||
<header className="sticky top-0 z-40 h-16 glass border-b px-4 md:px-6 flex items-center justify-between">
|
||||
<div className="flex items-center gap-2 md:hidden">
|
||||
<Sheet open={isMobileOpen} onOpenChange={setIsMobileOpen}>
|
||||
<SheetTrigger asChild>
|
||||
<Button variant="ghost" size="icon" className="md:hidden">
|
||||
<Menu className="h-6 w-6" />
|
||||
<span className="sr-only">Menüyü aç</span>
|
||||
</Button>
|
||||
</SheetTrigger>
|
||||
<SheetContent side="left" className="p-0 w-72">
|
||||
<MainNav onNavClick={() => setIsMobileOpen(false)} />
|
||||
</SheetContent>
|
||||
</Sheet>
|
||||
<MobileSidebar />
|
||||
<div className="flex items-center font-bold text-lg">
|
||||
<Building className="mr-2 h-5 w-5 text-primary" />
|
||||
WeddingOS
|
||||
|
||||
Reference in New Issue
Block a user