Files

107 lines
3.2 KiB
TypeScript

import type { Metadata } from "next";
import { Hanzo, YStack } from "@hanzo/ui";
// @hanzo/ui's sheet: @hanzo/design's tokens, base and theme. Imported here,
// because webpack leaves the import inside the package's client root out.
import "@hanzo/ui/styles.css";
// Zen and Zen Mono as @font-face under the names @hanzo/design's --font-sans
// and --font-mono ask for, so body text and gui's $mono token resolve to them.
import "@hanzo/font/css";
import "./globals.css";
import { Header } from "./components/header";
import { Footer } from "./components/footer";
export const metadata: Metadata = {
metadataBase: new URL('https://gallery.hanzo.ai'),
title: {
default: "Hanzo Templates Gallery - 75+ Premium UI/UX Templates",
template: "%s | Hanzo Templates",
},
description: "Browse 75+ production-ready templates built with Next.js, React, and modern frameworks. Free, open-source templates for SaaS, portfolios, dashboards, blogs, and more. Deploy instantly to Hanzo Cloud.",
keywords: [
"Next.js templates",
"React templates",
"UI templates",
"SaaS templates",
"portfolio templates",
"dashboard templates",
"blog templates",
"free templates",
"open source templates",
"Hanzo templates",
"web templates",
"modern UI",
"responsive templates",
"TypeScript templates",
],
authors: [{ name: "Hanzo AI", url: "https://hanzo.ai" }],
creator: "Hanzo AI",
publisher: "Hanzo AI",
openGraph: {
type: "website",
locale: "en_US",
url: "https://gallery.hanzo.ai",
title: "Hanzo Templates Gallery - 75+ Premium UI/UX Templates",
description: "Browse 75+ production-ready templates built with Next.js, React, and modern frameworks. Free, open-source templates for SaaS, portfolios, dashboards, blogs, and more.",
siteName: "Hanzo Templates Gallery",
images: [
{
url: "/og-image.png",
width: 1200,
height: 630,
alt: "Hanzo Templates Gallery - Premium Templates Collection",
},
],
},
twitter: {
card: "summary_large_image",
title: "Hanzo Templates Gallery - 75+ Premium UI/UX Templates",
description: "Browse 75+ production-ready templates built with Next.js, React, and modern frameworks. Deploy instantly to Hanzo Cloud.",
images: ["/twitter-image.png"],
creator: "@hanzoai",
},
robots: {
index: true,
follow: true,
googleBot: {
index: true,
follow: true,
'max-video-preview': -1,
'max-image-preview': 'large',
'max-snippet': -1,
},
},
viewport: {
width: 'device-width',
initialScale: 1,
maximumScale: 5,
},
themeColor: [
{ media: '(prefers-color-scheme: dark)', color: '#0a0a0a' },
{ media: '(prefers-color-scheme: light)', color: '#ffffff' },
],
icons: {
icon: '/favicon.ico',
apple: '/apple-icon.png',
},
};
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="en" className="dark">
<body>
<Hanzo>
<Header />
<YStack render="main" id="main" display="block">
{children}
</YStack>
<Footer />
</Hanzo>
</body>
</html>
);
}