diff --git a/src/app/dashboard/layout.tsx b/src/app/dashboard/layout.tsx index 3b20fe3..e3ebb4f 100644 --- a/src/app/dashboard/layout.tsx +++ b/src/app/dashboard/layout.tsx @@ -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 (
{/* Desktop Sidebar */} @@ -26,17 +20,7 @@ export default function DashboardLayout({ {/* Header */}
- - - - - - setIsMobileOpen(false)} /> - - +
WeddingOS diff --git a/src/components/calendar-view.tsx b/src/components/calendar-view.tsx index 550b921..c7affa5 100644 --- a/src/components/calendar-view.tsx +++ b/src/components/calendar-view.tsx @@ -7,7 +7,7 @@ import startOfWeek from 'date-fns/startOfWeek' import getDay from 'date-fns/getDay' import tr from 'date-fns/locale/tr' import "react-big-calendar/lib/css/react-big-calendar.css" -import { useState, useMemo, useEffect } from 'react' +import { useState, useMemo } from 'react' import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card' import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select" import { useRouter } from 'next/navigation' @@ -40,14 +40,6 @@ export function CalendarView({ events = [], halls = [] }: CalendarViewProps) { const [view, setView] = useState(Views.MONTH) const [date, setDate] = useState(new Date()) const [selectedHallId, setSelectedHallId] = useState("all") - const [isMobile, setIsMobile] = useState(false) - - useEffect(() => { - const checkMobile = () => setIsMobile(window.innerWidth < 768) - checkMobile() - window.addEventListener('resize', checkMobile) - return () => window.removeEventListener('resize', checkMobile) - }, []) const filteredEvents = useMemo(() => { if (selectedHallId === "all") return events diff --git a/src/components/mobile-sidebar.tsx b/src/components/mobile-sidebar.tsx new file mode 100644 index 0000000..c228f55 --- /dev/null +++ b/src/components/mobile-sidebar.tsx @@ -0,0 +1,34 @@ +'use client' + +import { Sheet, SheetContent, SheetTrigger } from "@/components/ui/sheet" +import { Button } from "@/components/ui/button" +import { Menu } from "lucide-react" +import { MainNav } from "@/components/main-nav" +import { useState, useEffect } from "react" + +export function MobileSidebar() { + const [open, setOpen] = useState(false) + const [isMounted, setIsMounted] = useState(false) + + useEffect(() => { + setIsMounted(true) + }, []) + + if (!isMounted) { + return null + } + + return ( + + + + + + setOpen(false)} /> + + + ) +}