import { Link } from '@chakra-ui/next-js' import { Box, Button, Flex, Heading, Image, List, ListIcon, ListItem, SimpleGrid, Text } from '@chakra-ui/react' import { FaFacebookSquare, FaLinkedin, FaTwitterSquare } from 'react-icons/fa' import { TbWorldWww } from 'react-icons/tb' 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.name} 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 || vendor.facebook || vendor.linkedin || vendor.twitter) && ( <> Social {vendor.website && ( {vendor.website} )} {vendor.linkedin && ( {vendor.linkedin} )} {vendor.twitter && ( {vendor.twitter} )} {vendor.facebook && ( {vendor.facebook} )} )} {vendor.categories.length > 0 && ( <> Categories {vendor.categories.map((cat) => ( ))} )}
) }