import { ImageResponse } from 'next/og';
import { getPageBySlug } from '@/lib/pages';
import { OGImageTemplate } from '@/components/OGImageTemplate';
import { getOgFonts, OG_IMAGE_SIZE } from '@/lib/og-helper';

export const runtime = 'nodejs';

export default async function Image({ params: { locale, slug } }: { params: { locale: string, slug: string } }) {
  const pageData = await getPageBySlug(slug, locale);

  if (!pageData) {
    return new Response('Page not found', { status: 404 });
  }

  const fonts = await getOgFonts();

  return new ImageResponse(
    (
      <OGImageTemplate
        title={pageData.frontmatter.title}
        description={pageData.frontmatter.excerpt}
        label="Information"
      />
    ),
    {
      ...OG_IMAGE_SIZE,
      fonts,
    }
  );
}

