import type { Metadata, Viewport } from "next"; import { ClientProviders } from "@/components/providers/ClientProviders"; import { OrganizationJsonLd, WebSiteJsonLd } from "@/components/public/JsonLd"; import "./globals.css"; const siteUrl = process.env.NEXT_PUBLIC_SITE_URL || "https://belgianbitcoinembassy.org"; export const metadata: Metadata = { metadataBase: new URL(siteUrl), title: { default: "Belgian Bitcoin Embassy | Bitcoin Meetups & Education in Belgium", template: "%s | Belgian Bitcoin Embassy", }, description: "Belgium's sovereign Bitcoin community. Monthly meetups in Antwerp, Bitcoin education, and curated Nostr content. No hype, just signal.", keywords: [ "Bitcoin", "Belgium", "Antwerp", "Bitcoin meetup", "Bitcoin education", "Nostr", "Belgian Bitcoin Embassy", "Bitcoin community Belgium", "Bitcoin events Antwerp", ], authors: [{ name: "Belgian Bitcoin Embassy" }], creator: "Belgian Bitcoin Embassy", publisher: "Belgian Bitcoin Embassy", openGraph: { type: "website", locale: "en_BE", siteName: "Belgian Bitcoin Embassy", title: "Belgian Bitcoin Embassy | Bitcoin Meetups & Education in Belgium", description: "Belgium's sovereign Bitcoin community. Monthly meetups, education, and curated Nostr content.", images: [ { url: "/og-default.png", width: 1200, height: 630, alt: "Belgian Bitcoin Embassy - Bitcoin Meetups & Education in Belgium", }, ], }, twitter: { card: "summary_large_image", title: "Belgian Bitcoin Embassy", description: "Belgium's sovereign Bitcoin community. Monthly meetups, education, and curated Nostr content.", images: ["/og-default.png"], }, robots: { index: true, follow: true, googleBot: { index: true, follow: true, "max-video-preview": -1, "max-image-preview": "large", "max-snippet": -1, }, }, icons: { icon: [ { url: "/favicon.svg", type: "image/svg+xml" }, { url: "/favicon.ico", sizes: "32x32" }, ], apple: "/apple-touch-icon.png", }, alternates: { canonical: "/", }, }; export const viewport: Viewport = { themeColor: "#F7931A", width: "device-width", initialScale: 1, }; export default function RootLayout({ children }: { children: React.ReactNode }) { return (