Files
OpenCut/apps/web/src/app/layout.tsx
2025-06-25 01:16:37 +01:00

79 lines
2.1 KiB
TypeScript

import type { Metadata } from "next";
import { Inter } from "next/font/google";
import { ThemeProvider } from "next-themes";
import { Analytics } from "@vercel/analytics/react";
import Script from "next/script";
import "./globals.css";
import { Toaster } from "../components/ui/sonner";
import { TooltipProvider } from "../components/ui/tooltip";
const inter = Inter({
subsets: ["latin"],
variable: "--font-inter",
});
export const metadata: Metadata = {
title: "OpenCut",
description:
"A simple but powerful video editor that gets the job done. In your browser.",
openGraph: {
title: "OpenCut",
description:
"A simple but powerful video editor that gets the job done. In your browser.",
url: "https://opencut.app",
siteName: "OpenCut",
locale: "en_US",
type: "website",
images: [
{
url: "https://opencut.app/opengraph-image.jpg",
width: 1200,
height: 630,
alt: "OpenCut",
},
],
},
twitter: {
card: "summary_large_image",
title: "OpenCut",
description:
"A simple but powerful video editor that gets the job done. In your browser.",
creator: "@opencutapp",
images: ["/opengraph-image.jpg"],
},
robots: {
index: true,
follow: true,
},
};
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="en" suppressHydrationWarning>
<body className={`${inter.variable} font-sans antialiased`}>
<ThemeProvider attribute="class" forcedTheme="dark" enableSystem>
<TooltipProvider>
{children}
<Analytics />
<Toaster />
<Script
src="https://app.databuddy.cc/databuddy.js"
strategy="afterInteractive"
async
data-client-id="UP-Wcoy5arxFeK7oyjMMZ"
data-track-attributes={true}
data-track-errors={true}
data-track-outgoing-links={true}
data-track-web-vitals={true}
/>
</TooltipProvider>
</ThemeProvider>
</body>
</html>
);
}