Spaces:
Sleeping
Sleeping
File size: 2,793 Bytes
fff42e3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
import { Logo } from '@/components/Logo';
import type { Metadata } from "next";
import localFont from "next/font/local";
import "./globals.css";
const geistSans = localFont({
src: "./fonts/GeistVF.woff",
variable: "--font-geist-sans",
weight: "100 900",
});
const geistMono = localFont({
src: "./fonts/GeistMonoVF.woff",
variable: "--font-geist-mono",
weight: "100 900",
});
export const metadata: Metadata = {
title: "Warisan Nusantara | Ragam Warisan Budaya Indonesia",
description: "Jelajahi keberagaman warisan budaya Indonesia, dari seni tradisional, kuliner khas, hingga adat istiadat yang memperkaya Nusantara.",
keywords: "budaya indonesia, warisan budaya, seni tradisional, kuliner indonesia, adat istiadat",
icons: {
icon: [
{
url: 'data:image/svg+xml;base64,' + btoa(`
<svg width="32" height="32" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="512" height="512" fill="#DC2626"/>
<path d="M256 48 C384 48, 464 128, 464 256 C464 384, 384 464, 256 464 C128 464, 48 384, 48 256 C48 128, 128 48, 256 48Z" stroke="white" stroke-width="24" fill="none"/>
<circle cx="256" cy="176" r="48" fill="white" opacity="0.95"/>
<circle cx="336" cy="256" r="48" fill="white" opacity="0.95"/>
<circle cx="256" cy="336" r="48" fill="white" opacity="0.95"/>
<circle cx="176" cy="256" r="48" fill="white" opacity="0.95"/>
<circle cx="256" cy="256" r="32" fill="white"/>
<path d="M256 88 C344 88, 424 168, 424 256 C424 344, 344 424, 256 424 C168 424, 88 344, 88 256 C88 168, 168 88, 256 88Z" stroke="white" stroke-width="8" fill="none" opacity="0.6"/>
</svg>
`),
sizes: 'any',
type: 'image/svg+xml'
}
]
},
openGraph: {
title: "Warisan Nusantara",
description: "Menjelajahi Ragam Warisan Budaya Indonesia",
locale: "id_ID",
type: "website",
images: [
{
url: '/og-image.png',
width: 1200,
height: 630,
alt: 'Warisan Nusantara'
}
]
},
};
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="id">
<body className={`${geistSans.variable} ${geistMono.variable} antialiased`}>
<nav className="fixed top-0 left-0 right-0 bg-white/80 backdrop-blur-sm z-50 border-b border-red-100">
<div className="max-w-4xl mx-auto px-4 py-3 flex items-center gap-3">
<Logo className="text-red-600" />
<span className="font-bold text-red-800 text-lg">Warisan Nusantara</span>
</div>
</nav>
<div className="pt-16">
{children}
</div>
</body>
</html>
);
}
|