import { Suspense } from 'react';

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

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

type FavoritesPageProps = {
  params: Promise<{ locale: string }>;
};

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

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

export default async function FavoritesPage() {
  const t = await getTranslations('favorites.page');

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

  return (
    <>
      <Breadcrumbs items={breadcrumbItems} className="px-site" sticky />
      <Suspense fallback={<div className="min-h-[320px] bg-white" />}>
        <FavoritesClient />
      </Suspense>
    </>
  );
}
