diff --git a/package.json b/package.json index c360508..2a266d0 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,8 @@ "build": "next build", "start": "next start", "lint": "next lint", - "generate:types": "payload generate:types" + "generate:types": "payload generate:types", + "db:fresh": "payload migrate:fresh" }, "dependencies": { "@hookform/resolvers": "^5.0.1", diff --git a/src/app/(app)/(home)/layout.tsx b/src/app/(app)/(home)/layout.tsx index 6fa6f14..f815a20 100644 --- a/src/app/(app)/(home)/layout.tsx +++ b/src/app/(app)/(home)/layout.tsx @@ -1,17 +1,45 @@ import { ReactNode } from 'react'; +import configPromise from '@payload-config'; +import { getPayload } from 'payload'; import Navbar from './navbar'; import Footer from './footer'; +import SearchFilters from './search-filters'; +import { Category } from '@/payload-types'; interface LayoutProps { children: ReactNode; } -const Layout = ({ children }: LayoutProps) => { +const Layout = async ({ children }: LayoutProps) => { + const payload = await getPayload({ + config: configPromise, + }); + + const data = await payload.find({ + collection: 'categories', + depth: 1, + where: { + parent: { + exists: false, + }, + }, + }); + + const formattedData = data.docs.map((category) => ({ + ...category, + subcategories: (category.subcategories?.docs ?? []).map((doc) => ({ + ...(doc as Category), + subcategories: undefined, + })), + })); + return (
+ +
{children}