import { setCookie } from "cookies-next/client"; import { add } from "date-fns"; import { motion } from "framer-motion"; import { Expand, Minimize2 } from "lucide-react"; import { usePathname } from "next/navigation"; import { useState } from "react"; import { ARMinimizableLinks } from "~/components/navbar/mobile-nav"; import { Button } from "~/components/ui/button"; import { cn } from "~/lib/utils"; export const SIDEBAR_COOKIE_NAME = "sidebar_minimized"; export const Sidebar = ({ defaultOpen, isAdmin, className, }: { defaultOpen: boolean; isAdmin: boolean; className?: string; }) => { const pathname = usePathname(); const [isAnimating, setIsAnimating] = useState(false); const [minimized, setMinimized] = useState(defaultOpen); const toggleSidebar = (v: boolean) => { setIsAnimating(true); setMinimized(v); setCookie(SIDEBAR_COOKIE_NAME, v.toString(), { expires: add(new Date(), { days: 30 }), }); setTimeout(() => { setIsAnimating(false); }, 300); }; return ( ); };