11import Container from "@/components/ui/container" ;
22import "./globals.css" ;
3- import type { Metadata } from "next" ;
3+ import type { Metadata , Viewport } from "next" ;
44import Header from "@/components/Header" ;
55import Footer from "@/components/Footer" ;
66import CookieBanner from "@/components/CookieBanner" ;
@@ -99,6 +99,10 @@ export const metadata: Metadata = {
9999 } ,
100100} ;
101101
102+ export const viewport : Viewport = {
103+ themeColor : "#050505" ,
104+ } ;
105+
102106export default function RootLayout ( {
103107 children,
104108} : {
@@ -114,11 +118,11 @@ export default function RootLayout({
114118 < >
115119 < Script
116120 src = { `https://www.googletagmanager.com/gtag/js?id=${ GA_TRACKING_ID } ` }
117- strategy = "afterInteractive "
121+ strategy = "lazyOnload "
118122 />
119123 < Script
120124 id = "google-analytics"
121- strategy = "afterInteractive "
125+ strategy = "lazyOnload "
122126 dangerouslySetInnerHTML = { {
123127 __html : `
124128 window.dataLayer = window.dataLayer || [];
@@ -135,6 +139,24 @@ export default function RootLayout({
135139 />
136140 </ >
137141 ) }
142+ { /* Service Worker Registration */ }
143+ < Script
144+ id = "register-sw"
145+ strategy = "afterInteractive"
146+ dangerouslySetInnerHTML = { {
147+ __html : `
148+ if ('serviceWorker' in navigator) {
149+ window.addEventListener('load', function() {
150+ navigator.serviceWorker.register('/sw.js').then(function(reg) {
151+ console.log('SW registered:', reg.scope);
152+ }).catch(function(err) {
153+ console.warn('SW registration failed:', err);
154+ });
155+ });
156+ }
157+ `
158+ } }
159+ />
138160 </ head >
139161 < body suppressHydrationWarning >
140162 < JsonLd data = { [ buildWebsiteSchema ( ) , buildOrganizationSchema ( ) ] } />
0 commit comments