commerce/components/layout/search/collections.tsx
2024-07-20 20:54:32 -07:00

38 lines
1.3 KiB
TypeScript

import clsx from 'clsx';
import { Store } from 'lib/aspire/types';
import { getCollections } from 'lib/shopify';
import { Suspense } from 'react';
import FilterList from './filter';
async function CollectionList({ store }: { store: Store }) {
const collections = await getCollections(store);
return <FilterList list={collections} title="Collections" />;
}
const skeleton = 'mb-3 h-4 w-5/6 animate-pulse rounded';
const activeAndTitles = 'bg-neutral-800 dark:bg-neutral-300';
const items = 'bg-neutral-400 dark:bg-neutral-700';
export default function Collections(store: Store) {
return (
<Suspense
fallback={
<div className="col-span-2 hidden h-[400px] w-full flex-none py-4 lg:block">
<div className={clsx(skeleton, activeAndTitles)} />
<div className={clsx(skeleton, activeAndTitles)} />
<div className={clsx(skeleton, items)} />
<div className={clsx(skeleton, items)} />
<div className={clsx(skeleton, items)} />
<div className={clsx(skeleton, items)} />
<div className={clsx(skeleton, items)} />
<div className={clsx(skeleton, items)} />
<div className={clsx(skeleton, items)} />
<div className={clsx(skeleton, items)} />
</div>
}
>
<CollectionList store={store} />
</Suspense>
);
}