import type { Metadata, Viewport } from 'next' import { Inter } from 'next/font/google' import './globals.css' import { Toaster } from '@/components/ui/toaster' import { AuthProvider } from '@/components/providers/auth-provider' import { ServiceWorkerRegister } from '@/components/providers/sw-register' import { CookieConsent } from '@/components/ui/cookie-consent' const inter = Inter({ subsets: ['latin'], weight: ['400', '500', '600', '700'], display: 'swap', }) const siteUrl = process.env.NEXT_PUBLIC_SITE_URL || 'https://lageplan.ch' export const metadata: Metadata = { metadataBase: new URL(siteUrl), title: { default: 'Lageplan – Digitale Einsatzdokumentation für Feuerwehren', template: '%s | Lageplan', }, description: 'Die moderne Krokier-App für Schweizer Feuerwehren. Einsatzpläne digital erstellen, Journal führen, Rapporte generieren – direkt im Browser, ohne Installation.', keywords: [ 'Feuerwehr Software', 'Krokier App', 'Lageplan Feuerwehr', 'Einsatzdokumentation', 'Einsatzplanung', 'Feuerwehr App Schweiz', 'Einsatzjournal', 'Rapport Feuerwehr', 'Feuerwehr Krokierung', 'Einsatzleitung Software', 'Feuerwehr digital', ], authors: [{ name: 'Lageplan.ch' }], creator: 'Lageplan.ch', publisher: 'Lageplan.ch', robots: { index: true, follow: true, googleBot: { index: true, follow: true, 'max-video-preview': -1, 'max-image-preview': 'large', 'max-snippet': -1, }, }, openGraph: { type: 'website', locale: 'de_CH', url: siteUrl, siteName: 'Lageplan', title: 'Lageplan – Digitale Einsatzdokumentation für Feuerwehren', description: 'Die moderne Krokier-App für Schweizer Feuerwehren. Einsatzpläne digital erstellen, Journal führen, Rapporte generieren.', images: [ { url: '/og-image.png', width: 1200, height: 630, alt: 'Lageplan – Feuerwehr Krokier-App', }, ], }, twitter: { card: 'summary_large_image', title: 'Lageplan – Digitale Einsatzdokumentation für Feuerwehren', description: 'Die moderne Krokier-App für Schweizer Feuerwehren. Einsatzpläne digital erstellen, Journal führen, Rapporte generieren.', images: ['/og-image.png'], }, alternates: { canonical: siteUrl, }, icons: { icon: '/logo.svg', apple: '/logo.svg', }, category: 'technology', } export const viewport: Viewport = { width: 'device-width', initialScale: 1, maximumScale: 1, interactiveWidget: 'resizes-content', } export default function RootLayout({ children, }: { children: React.ReactNode }) { return (