47 lines
1.5 KiB
TypeScript
47 lines
1.5 KiB
TypeScript
import type { Metadata } from "next";
|
|
import { Wix_Madefor_Text, Wix_Madefor_Display } from "next/font/google";
|
|
import { Toaster } from "sonner";
|
|
import "./globals.css";
|
|
|
|
// Wix Madefor — the platform typeface (body + UI)
|
|
const madeforText = Wix_Madefor_Text({
|
|
subsets: ["latin"],
|
|
variable: "--font-sans",
|
|
display: "swap",
|
|
});
|
|
|
|
// Wix Madefor Display — headlines (variable font, full weight range)
|
|
const madeforDisplay = Wix_Madefor_Display({
|
|
subsets: ["latin"],
|
|
variable: "--font-display",
|
|
display: "swap",
|
|
});
|
|
|
|
export const metadata: Metadata = {
|
|
title: {
|
|
default: "PodcastYes — From topic idea to published podcast in minutes",
|
|
template: "%s · PodcastYes",
|
|
},
|
|
description:
|
|
"PodcastYes is an all-in-one AI platform that writes your script, records realistic multi-voice audio, and designs cover art — turning a topic into a finished episode in minutes.",
|
|
metadataBase: new URL(process.env.NEXT_PUBLIC_APP_URL || "http://localhost:3000"),
|
|
openGraph: {
|
|
title: "PodcastYes",
|
|
description: "Create scripted, narrated, illustrated podcasts with AI — no recording gear required.",
|
|
type: "website",
|
|
},
|
|
};
|
|
|
|
export default function RootLayout({ children }: { children: React.ReactNode }) {
|
|
return (
|
|
<html lang="en" suppressHydrationWarning>
|
|
<body
|
|
className={`${madeforText.variable} ${madeforDisplay.variable} font-sans antialiased`}
|
|
>
|
|
{children}
|
|
<Toaster richColors position="top-center" />
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|