import type { Metadata } from "next"; const siteUrl = process.env.NEXT_PUBLIC_SITE_URL ?? "http://localhost:3000"; export const SITE_NAME = "FlatRender"; export const DEFAULT_OG_IMAGE = "/opengraph-image"; export const defaultMetadata: Metadata = { metadataBase: new URL(siteUrl), title: { default: `${SITE_NAME} — Create Videos & Images`, template: `%s — ${SITE_NAME}`, }, description: "Create pro videos and images with AI-powered templates, editors, and one-click export for creators and brands.", openGraph: { type: "website", locale: "en_US", siteName: SITE_NAME, images: [ { url: DEFAULT_OG_IMAGE, width: 1200, height: 630, alt: "FlatRender — AI Video & Image Maker", }, ], }, twitter: { card: "summary_large_image", images: [DEFAULT_OG_IMAGE], }, }; interface PageMetadataOptions { title: string; description: string; path?: string; } export function createPageMetadata({ title, description, path = "", }: PageMetadataOptions): Metadata { const url = new URL(path, siteUrl).toString(); return { title, description, openGraph: { title, description, url, images: [ { url: DEFAULT_OG_IMAGE, width: 1200, height: 630, alt: `${title} — ${SITE_NAME}`, }, ], }, twitter: { title, description, images: [DEFAULT_OG_IMAGE], }, }; }