import { Document } from '@/views';
import type { Metadata } from 'next';
import { headers } from 'next/headers';
import { metaInfo, phoneBeautify } from '@shared/lib';
import { TMetainfo } from '@shared/types/metainfo';
import { CONTACTS } from '@shared/const/contacts';

const metainfo: TMetainfo = {
  title: 'Экспертиза документов',
  description: `Экспертиза документов. Лицензированные эксперты. Экспертиза принимается судом. Тел.: ${phoneBeautify(CONTACTS.PHONE)}. Предварительный анализ - бесплатно!`,
  companyName: CONTACTS.COMPANY_FULL,
  phone: phoneBeautify(CONTACTS.PHONE),
  ogImageUrl: '/images/opengraph/expertise/buh.png',
};

export async function generateMetadata(): Promise<Metadata> {
  const h = await headers();
  const referer = h.get('referer') ?? '';
  const host = h.get('host') ?? '';
  const proto = h.get('x-forwarded-proto') ?? '';
  const path = referer ? new URL(referer).pathname : '';

  const metainfoExtended = Object.assign({}, metainfo, {
    host: `${proto}://${host}`,
    path: path,
  });

  return metaInfo(metainfoExtended);
}

export default function Page() {
  return <Document />;
}
