import { Button } from '@/components/ui/button'; import { Card } from '@/components/ui/card'; import { ScrollArea } from '@/components/ui/scroll-area'; import { Sheet, SheetContent, SheetTrigger } from '@/components/ui/sheet'; import useScreen from '@/hooks/use-screen'; import LandingLayout from '@/layouts/landing-layout'; import { getQueryParams } from '@/lib/route'; import { router, usePage } from '@inertiajs/react'; import { ListFilter } from 'lucide-react'; import { ReactNode, useState } from 'react'; import { BlogsIndexProps } from '..'; import BlogFilter from './blog-filter'; const Layout = ({ children }: { children: ReactNode }) => { const { url, props } = usePage(); const { category } = props; const [open, setOpen] = useState(false); const urlParams = getQueryParams(url); const { screen } = useScreen(); const getQueryRoute = (newParams: Record, category: string, category_child?: string) => { const updatedParams = { ...urlParams }; if ('search' in updatedParams) { delete updatedParams.search; } return route('blogs.guest', { category, category_child, ...updatedParams, ...newParams, }); }; const gridListHandler = (view: string) => { router.get(getQueryRoute({ view }, category?.slug || 'all')); }; return (
{screen > 768 && ( )} {/* Main Content */}
{screen < 768 && ( )}

{category ? category?.name : 'All'} Blogs

{category && category.description &&

{category?.description}

}
{/* Blog Grid */} {children}
); }; export default Layout;