import MediaItem from '@/components/MediaItem' import Pagination from '@/components/Pagination' import { ComponentProps } from 'react' interface Props { initialDisplayPosts?: { type: string; title: string; data: string | string[] }[] pagination?: ComponentProps<typeof Pagination> } const MediaList = ({ initialDisplayPosts = [], pagination }: Props) => { return ( <> <div className="divide-y divide-gray-200 dark:divide-gray-700"> <div className="space-y-2 pb-8 pt-6 md:space-y-5"> <h1 className="text-3xl font-extrabold leading-9 tracking-tight text-gray-900 dark:text-gray-100 sm:text-4xl sm:leading-10 md:text-6xl md:leading-14"> Media </h1> </div> <div className="container py-12"> <div className="flex flex-wrap"> {initialDisplayPosts.length ? ( initialDisplayPosts.map((d) => ( <MediaItem key={d.title} type={d.type} title={d.title} data={d.data} /> )) ) : ( <p className="pb-2">No media found.</p> )} </div> </div> </div> {pagination && pagination.totalPages > 1 && ( <Pagination page="media" currentPage={pagination.currentPage} totalPages={pagination.totalPages} /> )} </> ) } export default MediaList