mirror of
https://gitlab.massbug.com/massbug/judge4c.git
synced 2025-07-04 15:41:17 +00:00
feat(ui): add mobile sidebar with sheet component
This commit is contained in:
parent
fa30235172
commit
4c8aa5b264
30
src/components/mobile-sidebar.tsx
Normal file
30
src/components/mobile-sidebar.tsx
Normal 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>
|
||||||
|
);
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user