import { Metadata } from 'next';
import { getTranslations } from 'next-intl/server';

import { getCreatorList } from '@/services/creators';

import Breadcrumbs, { BreadcrumbItem } from '@/components/common/Breadcrumbs';
import { getLocalizedAlternates } from '@/utils/seo';

import CreatorListClient from './CreatorListClient';

export async function generateMetadata({
  params,
}: {
  params: Promise<{ locale: string }>;
}): Promise<Metadata> {
  const { locale } = await params;
  const t = await getTranslations('creatorListPage.metadata');

  return {
    title: t('title'),
    description: t('description'),
    alternates: getLocalizedAlternates(locale, '/alkotok'),
  };
}

export default async function CreatorListPage() {
  const creators = await getCreatorList();
  const t = await getTranslations('navigation.menu');

  const breadcrumbItems = [
    {
      label: t('creators'),
      href: { pathname: '/alkotok' },
    },
  ] satisfies BreadcrumbItem[];

  return (
    <>
      <Breadcrumbs items={breadcrumbItems} className="px-site" sticky />
      <CreatorListClient title={t('creators')} creators={creators} />
    </>
  );
}
