Chloe fab2a5e967
fix make urls
Signed-off-by: Chloe <pinkcloudvnn@gmail.com>
2024-07-07 09:58:59 +07:00

72 lines
2.8 KiB
TypeScript

import { GlobeAltIcon, StarIcon } from '@heroicons/react/24/outline';
import { Metaobject } from 'lib/shopify/types';
import kebabCase from 'lodash.kebabcase';
import ButtonGroup from './button-group';
import ManufacturerItem from './item';
type ManufacturersGridProps = {
manufacturers: Metaobject[];
variant?: 'engines' | 'transmissions' | 'home' | 'remanufactured-engines' | 'transfer-cases';
};
const ManufacturersGrid = ({ manufacturers, variant = 'home' }: ManufacturersGridProps) => {
const popularManufacturers = manufacturers.filter(
(manufacturer) => manufacturer.is_popular === 'true'
);
return (
<div className="h-auto max-h-[700px] w-full overflow-auto rounded px-10 py-6 shadow">
{popularManufacturers.length ? (
<>
<p className="flex items-center gap-2">
<StarIcon className="size-4" />
<span className="font-medium text-blue-800">Popular Manufacturers</span>
</p>
<div className="mt-6 grid grid-cols-2 gap-x-12 gap-y-5 md:grid-cols-3 md:gap-y-8 lg:grid-cols-4 xl:grid-cols-5">
{popularManufacturers.map((manufacturer) => (
<div key={manufacturer.id} className="flex flex-col gap-2">
{variant === 'home' ? (
<ManufacturerItem manufacturer={manufacturer} />
) : (
<ManufacturerItem
manufacturer={manufacturer}
className="rounded border border-primary px-2 py-1"
href={`/${variant}/${kebabCase(manufacturer.name)}`}
/>
)}
{variant === 'home' && <ButtonGroup manufacturer={manufacturer} />}
</div>
))}
</div>
<hr className="my-10 w-full" />
</>
) : null}
<p className="flex items-center gap-2">
<GlobeAltIcon className="size-4" />
<span className="font-medium text-blue-800">All Manufacturers</span>
</p>
<div className="mt-6 grid grid-cols-2 gap-x-12 gap-y-5 md:grid-cols-3 md:gap-y-8 lg:grid-cols-4 xl:grid-cols-5">
{manufacturers
.toSorted((a, b) => a.display_name!.localeCompare(b.display_name!))
.map((manufacturer) => (
<div key={manufacturer.id} className="flex flex-col gap-2">
{variant === 'home' ? (
<ManufacturerItem manufacturer={manufacturer} />
) : (
<ManufacturerItem
manufacturer={manufacturer}
className="rounded border border-primary px-2 py-1"
href={`/${variant}/${kebabCase(manufacturer.name)}`}
/>
)}
{variant === 'home' && <ButtonGroup manufacturer={manufacturer} />}
</div>
))}
</div>
</div>
);
};
export default ManufacturersGrid;