'use client'; import { useState, useCallback, ReactNode } from 'react'; import RecipesSidebar from './RecipesSidebar'; import type { FilterState } from '@/lib/types'; interface RecipeLayoutProps { children: ReactNode; categories: string[]; tags: string[]; filters?: FilterState; onFilterChange?: (filters: FilterState) => void; showFilters?: boolean; } export default function RecipeLayout({ children, categories, tags, filters, onFilterChange, showFilters = true }: RecipeLayoutProps) { const [sidebarOpen, setSidebarOpen] = useState(false); const handleFilterChange = useCallback((newFilters: FilterState) => { if (onFilterChange) { onFilterChange(newFilters); } }, [onFilterChange]); return (