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>
  );
}