"use client";
import { Sidebar } from "@/components/layout/sidebar";
import { Sheet, SheetContent, SheetTitle } from "@/components/ui/sheet";
import { useSidebarStore } from "@/lib/stores/sidebar-store";
import { useFavoritesStore } from "@/lib/stores/favorites-store";
import { useRouter } from "next/navigation";
import type { Collection } from "@/lib/icons";
interface SidebarShellProps {
children: React.ReactNode;
categoryCounts: { name: string; count: number }[];
collections?: { name: Collection; count: number }[];
}
export function SidebarShell({ children, categoryCounts, collections = [] }: SidebarShellProps) {
const router = useRouter();
const sidebarOpen = useSidebarStore((s) => s.open);
const setSidebarOpen = useSidebarStore((s) => s.setOpen);
const favorites = useFavoritesStore((s) => s.favorites);
function handleCategorySelect(category: string | null) {
if (category) {
router.push(`/?category=${encodeURIComponent(category)}`);
} else {
router.push("/");
}
setSidebarOpen(false);
}
function handleCollectionSelect(collection: Collection | null) {
if (collection) {
router.push(`/collection/${encodeURIComponent(collection)}`);
} else {
router.push("/");
}
setSidebarOpen(false);
}
function handleToggleFavorites() {
router.push("/?favorites=true");
setSidebarOpen(false);
}
return (
<>