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

import { IoHomeOutline } from 'react-icons/io5';

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

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

import CreatorListClient from './CreatorListClient';

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

  return {
    title: t('title'),
    description: t('description'),
    alternates: {
      canonical: `/alkotok`,
    },
  };
}

export default async function CreatorListPage({ params }: { params: Promise<{ locale: string }> }) {
  const { locale } = await params;
  const creators = await getCreatorList();
  const t = await getTranslations('navigation.menu');

  const breadcrumbItems = [
    {
      label: locale === 'en' ? 'Home' : 'Főoldal',
      href: { pathname: '/' },
      icon: <IoHomeOutline />,
      ariaLabel: locale === 'en' ? 'Home' : 'Főoldal',
    },
    {
      label: t('creators'),
      href: { pathname: '/alkotok' },
    },
  ] satisfies BreadcrumbItem[];

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