import type { Category, Partner } from '~/types/partners' import type { Listing } from 'common/marketplace-client' import Image from 'next/image' import Link from 'next/link' export default function TileGrid({ partners, hideCategories = false, }: { partners: Partner[] hideCategories?: boolean }) { const partnersByCategory: { [slug: string]: { category: Category; partners: Partner[] } } = {} partners.forEach((p) => // TODO: This will result in duplicate listings if a partner appears in multiple categories. Consider choosing just one. p.categories.forEach((category) => { if (!partnersByCategory[category.slug]) { partnersByCategory[category.slug] = { category, partners: [] } } partnersByCategory[category.slug].partners.push(p) }) ) const featuredPartners = partners .filter((p) => p.featured) .toSorted((a, b) => a.title.localeCompare(b.title)) return ( <> {featuredPartners.length > 0 ? (
{p.description}
{p.description}