import type { Metadata } from "next"; import Link from "next/link"; import { Breadcrumbs } from "@/components/Breadcrumbs"; import { CollectionCard } from "@/components/CollectionCard"; import { content } from "@/lib/content"; import { COLLECTIONS_QUERY } from "@/lib/queries"; import { canonicalUrl } from "@/lib/site"; import { staticStorefrontClient } from "@/lib/storefront-static"; export const metadata: Metadata = { title: "Collections", description: "Browse all collections", alternates: { canonical: "/collections" }, openGraph: { title: "Collections — CORE", type: "website", url: canonicalUrl("/collections"), }, }; async function fetchCollections(after?: string) { const { data, errors } = await staticStorefrontClient.graphql(COLLECTIONS_QUERY, { variables: { first: 24, after }, }); if (errors) { console.error("[hydrogen] Collections query failed", errors); } return { collections: data?.collections?.nodes ?? [], pageInfo: data?.collections?.pageInfo ?? { hasNextPage: false }, }; } export default async function CollectionsPage({ searchParams, }: { searchParams: Promise>; }) { const params = await searchParams; const after = typeof params.after === "string" ? params.after : undefined; const { collections, pageInfo } = await fetchCollections(after); return (

{content.collections.title}

{pageInfo.hasNextPage ? (
Load more
) : null}
); }