// import directus from '~/lib/directus' export const getStaticPaths = async () => { const url = new URL(`${process.env.NEXT_PUBLIC_DIRECTUS_API_URL}/items/vendors`) url.searchParams.append('fields[]', 'slug') url.searchParams.append('limit', -1) const res = await fetch(url.toString()) const { data: vendors } = await res.json() return { paths: vendors.map((v) => ({ params: { slug: v.slug } })), fallback: false, // false or "blocking" } } export const getStaticProps = async ({ params: { slug } }) => { const url = new URL(`${process.env.NEXT_PUBLIC_DIRECTUS_API_URL}/items/vendors`) url.searchParams.append('fields[]', '*') url.searchParams.append('fields[]', 'categories.categories_id.slug') url.searchParams.append('fields[]', 'categories.categories_id.name') url.searchParams.append('fields[]', 'categories.categories_id.parent_id') url.searchParams.append('fields[]', 'categories.categories_id.subcategories.slug') url.searchParams.append('fields[]', 'categories.categories_id.subcategories.name') url.searchParams.append('limit', 1) url.searchParams.append('filter', JSON.stringify({ slug: { _eq: slug } })) const res = await fetch(url.toString()) const { data: [vendor], } = await res.json() return { props: vendor } } export default function VendorPage(vendor) { return ( <>

{vendor.name}

{vendor.description}

Address

{vendor.address_line_1 && ( <> {vendor.address_line_1}
)} {vendor.address_line_2 && ( <> {vendor.address_line_2}
)} {vendor.city && ( <> {vendor.city}
)} {vendor.state && ( <> {vendor.state}
)} {vendor.country && ( <> {vendor.country}
)}

{vendor.website && ( <>

Website

{vendor.website} )} {vendor.categories.length > 0 && ( <>

Categories

)} ) }