feat(ui): add mobile sidebar with sheet component

This commit is contained in:
ngc2207 2025-02-02 01:31:28 +08:00
parent fa30235172
commit 4c8aa5b264

View File

@ -0,0 +1,30 @@
"use client";
import { Sidebar } from "./sidebar";
import { Button } from "./ui/button";
import { MenuIcon } from "lucide-react";
import { useEffect, useState } from "react";
import { usePathname } from "next/navigation";
import { Sheet, SheetContent, SheetTrigger } from "./ui/sheet";
export const MobileSidebar = () => {
const [isOpen, setIsOpen] = useState(false);
const pathname = usePathname();
useEffect(() => {
setIsOpen(false);
}, [pathname]);
return (
<Sheet modal={false} open={isOpen} onOpenChange={setIsOpen}>
<SheetTrigger asChild>
<Button variant="secondary" className="lg:hidden">
<MenuIcon className="size-4" />
</Button>
</SheetTrigger>
<SheetContent side="left" className="p-0">
<Sidebar />
</SheetContent>
</Sheet>
);
};