Files
ember-market-frontend/app/layout.tsx
NotII db1ebcb19d Refactor KeepOnline logic and add useKeepOnline hook
Moved dashboard path check from KeepOnline to a new KeepOnlineWrapper component for cleaner separation of concerns. Introduced a reusable useKeepOnline hook to encapsulate the online status update logic. Updated layout to use KeepOnlineWrapper and simplified KeepOnline. Minor cleanup in broadcast-dialog.tsx.
2025-08-01 15:27:52 +01:00

87 lines
2.7 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 { NotificationProvider } from "@/lib/notification-context"
import { Metadata, Viewport } from "next"
import KeepOnlineWrapper from "@/components/layout/KeepOnlineWrapper"
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: 1,
themeColor: [
{ media: "(prefers-color-scheme: dark)", color: "#000000" },
{ media: "(prefers-color-scheme: light)", color: "#D53F8C" },
],
};
export default function RootLayout({
children,
}: {
children: React.ReactNode
}) {
return (
<html lang="en" suppressHydrationWarning>
<body className={inter.className}>
<ThemeProvider attribute="class" defaultTheme="dark" enableSystem disableTransitionOnChange>
<NotificationProvider>
<Toaster
theme="dark"
richColors
position="top-right"
/>
<KeepOnlineWrapper />
{children}
</NotificationProvider>
</ThemeProvider>
</body>
</html>
)
}