// app/[locale]/about/page.tsx
export const revalidate = 0;
import { partner_api } from '@/features/about/lib/api';
import { AboutContent } from '@/features/about/ui/AboutContent';
import { AboutHero } from '@/features/about/ui/AboutHero';
import { PartnershipForm } from '@/features/about/ui/AboutPage';
import { BASE_URL } from '@/shared/config/api/URLs';
import { Metadata } from 'next';

function getImageUrl(image?: string | null): string {
  if (!image) return '/placeholder.svg';
  return image.includes(BASE_URL) ? image : BASE_URL + image;
}

const fetchAboutData = async () => {
  const res = await partner_api.getAbout();
  return res.data.banner;
};

interface Props {
  params: { locale: 'uz' | 'ru' };
}

export async function generateMetadata({ params }: Props): Promise<Metadata> {
  const { locale } = params;

  try {
    const banner = await fetchAboutData();

    const title =
      locale === 'uz'
        ? banner.title_uz
        : locale === 'ru'
          ? banner.title_ru
          : banner.title_en;

    const description =
      locale === 'uz'
        ? banner.description_uz
        : locale === 'ru'
          ? banner.description_ru
          : banner.description_en;

    return {
      title: title,
      description: description,
      openGraph: {
        title,
        description,
        type: 'website',
        images: [
          {
            url: getImageUrl(banner.image),
            width: 1200,
            height: 630,
            alt: title,
          },
        ],
      },
      twitter: {
        card: 'summary_large_image',
        title,
        description,
        images: [getImageUrl(banner.image)],
      },
    };
  } catch (err) {
    console.error('About metadata error:', err);
    return {
      title: 'Gastro Market',
      description: 'Gastro Market mahsulotlarini kashf eting',
    };
  }
}

const AboutPage = async () => {
  return (
    <div className="custom-container">
      <AboutHero />
      <AboutContent />
      <PartnershipForm />
    </div>
  );
};

export default AboutPage;
