diff --git a/src/webapp/app/(dashboard)/profile/[handle]/(withoutHeader)/collections/[rkey]/page.tsx b/src/webapp/app/(dashboard)/profile/[handle]/(withoutHeader)/collections/[rkey]/page.tsx index d0727584..d352df6a 100644 --- a/src/webapp/app/(dashboard)/profile/[handle]/(withoutHeader)/collections/[rkey]/page.tsx +++ b/src/webapp/app/(dashboard)/profile/[handle]/(withoutHeader)/collections/[rkey]/page.tsx @@ -1,11 +1,40 @@ import CollectionContainer from '@/features/collections/containers/collectionContainer/CollectionContainer'; +import { Group } from '@mantine/core'; +import { + CardFiltersRoot, + CardFiltersSortSelect, + CardFiltersViewToggle, + CardFiltersTypeFilter, +} from '@/features/cards/components/cardFilters/CardFilters'; +import { CardSortField, UrlType } from '@semble/types'; +import { Fragment } from 'react'; interface Props { params: Promise<{ rkey: string; handle: string }>; + searchParams: Promise<{ sort?: string; type?: string }>; } export default async function Page(props: Props) { - const { rkey, handle } = await props.params; + const [{ rkey, handle }, { sort, type }] = await Promise.all([ + props.params, + props.searchParams, + ]); - return ; + const resolvedSort = (sort as CardSortField) ?? CardSortField.UPDATED_AT; + const resolvedType = (type as UrlType) ?? null; + + const suspenseKey = `${resolvedSort}-${resolvedType}`; + + return ( + + + + + + + + + + + ); } diff --git a/src/webapp/features/collections/containers/collectionContainer/CollectionContainer.tsx b/src/webapp/features/collections/containers/collectionContainer/CollectionContainer.tsx index e75fdeac..a420d069 100644 --- a/src/webapp/features/collections/containers/collectionContainer/CollectionContainer.tsx +++ b/src/webapp/features/collections/containers/collectionContainer/CollectionContainer.tsx @@ -1,10 +1,7 @@ -'use client'; - -import { Container, Group, Stack } from '@mantine/core'; +import { Container, Stack } from '@mantine/core'; import { Suspense } from 'react'; import CollectionContainerContent from '../collectionContainerContent/CollectionContainerContent'; import CollectionContainerContentSkeleton from '../collectionContainerContent/Skeleton.CollectionContainerContent'; -import { CardFilters } from '@/features/cards/components/cardFilters/CardFilters'; interface Props { rkey: string; @@ -14,15 +11,7 @@ interface Props { export default function CollectionContainer(props: Props) { return ( - - - - - - - - - + }>