Files
ember-market-frontend/app/layout.tsx
g 37a8cfed82 Lazy load notification and keep-online providers
Introduced NotificationProviderWrapper to dynamically load the notification context only on dashboard pages, reducing initial bundle size. KeepOnline component is now also lazy-loaded. Updated app layout to use the new wrapper.
2025-12-31 07:11:10 +00:00

95 lines
3.1 KiB
TypeScript

import { Inter } from "next/font/google"
import "./globals.css"
import { ThemeProvider } from "@/components/layout/theme-provider"
import { Toaster } from "sonner"
import type React from "react"
import { Metadata, Viewport } from "next"
import KeepOnlineWrapper from "@/components/layout/KeepOnlineWrapper"
import { NotificationProviderWrapper } from "@/components/layout/NotificationProviderWrapper"
// Christmas theme disabled
// import { ChristmasDecorations } from "@/components/christmas-decorations"
// import { isDecember } from "@/lib/utils/christmas"
const inter = Inter({ subsets: ["latin"] })
export const metadata: Metadata = {
title: "Ember | E-Commerce Management Platform",
description: "Transform your e-commerce experience with Ember, a comprehensive platform that integrates secure cryptocurrency payments, efficient order management, and advanced analytics to help you optimize performance, boost sales, and expand your customer base",
keywords: "e-commerce, marketplace, cryptocurrency payments, order management, vendor platform, online business",
authors: [{ name: "Ember" }],
creator: "Ember ",
publisher: "Ember",
generator: "Next.js",
applicationName: "Ember",
referrer: "origin-when-cross-origin",
formatDetection: {
email: false,
address: false,
telephone: false,
},
robots: {
index: false,
follow: false,
googleBot: {
index: true,
follow: true,
"max-image-preview": "large",
"max-video-preview": -1,
"max-snippet": -1,
},
},
openGraph: {
title: "Ember | E-Commerce Management Platform",
description: "Transform your e-commerce experience with Ember, a comprehensive platform that integrates secure cryptocurrency payments, efficient order management, and advanced analytics to help you optimize performance, boost sales, and expand your customer base",
siteName: "Ember",
locale: "en_GB",
type: "website",
images: [
{
url: "/og-image.jpg",
width: 1200,
height: 630,
alt: "Ember - Streamlined E-commerce Management",
},
],
},
}
export const viewport: Viewport = {
width: "device-width",
initialScale: 1,
maximumScale: 3,
userScalable: true,
viewportFit: "cover",
themeColor: [
{ media: "(prefers-color-scheme: dark)", color: "#000000" },
{ media: "(prefers-color-scheme: light)", color: "#D53F8C" },
],
};
export default function RootLayout({
children,
}: {
children: React.ReactNode
}) {
const isDec = false // Christmas theme disabled
return (
<html lang="en" suppressHydrationWarning className="dark">
<body className={inter.className}>
<ThemeProvider attribute="class" defaultTheme="dark" enableSystem disableTransitionOnChange>
<NotificationProviderWrapper>
{/* Christmas decorations disabled */}
<Toaster
theme="dark"
richColors
position="top-right"
/>
<KeepOnlineWrapper />
{children}
</NotificationProviderWrapper>
</ThemeProvider>
</body>
</html>
)
}