diff --git a/resources/js/Layouts/MainLayout.jsx b/resources/js/Layouts/MainLayout.jsx index 7b1a4c3..c4e2fc1 100644 --- a/resources/js/Layouts/MainLayout.jsx +++ b/resources/js/Layouts/MainLayout.jsx @@ -1,8 +1,9 @@ import { Link, usePage } from "@inertiajs/react"; -import { useState } from "react"; +import { useState, useEffect } from "react"; export default function MainLayout({ children }) { - const [sidebarOpen, setSidebarOpen] = useState(true); + const [sidebarOpen, setSidebarOpen] = useState(false); + const [isMobile, setIsMobile] = useState(false); const { url } = usePage(); const menus = [ @@ -13,51 +14,144 @@ export default function MainLayout({ children }) { { name: "Peminjaman", href: "/peminjaman", icon: "📋" }, ]; + // Deteksi ukuran layar + useEffect(() => { + const checkScreen = () => { + const mobile = window.innerWidth < 1024; + setIsMobile(mobile); + // Sidebar terbuka default di desktop, tertutup di mobile/tablet + if (!mobile) { + setSidebarOpen(true); + } else { + setSidebarOpen(false); + } + }; + + checkScreen(); + window.addEventListener("resize", checkScreen); + return () => window.removeEventListener("resize", checkScreen); + }, []); + + // Tutup sidebar saat navigasi di mobile + const handleMenuClick = () => { + if (isMobile) setSidebarOpen(false); + }; + return ( -