feat: full studio build -- light theme, canvas thumbnails, i18n (fa/en)
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
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],
|
||||
},
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user