import type { Metadata } from "next"; import { cookies } from "next/headers"; import "./globals.css"; import crypto from "crypto"; import type { Viewport } from "next"; export const viewport: Viewport = { themeColor: "#00ff88", }; export const metadata: Metadata = { title: "JUMPA.ID | Enterprise Gateway", description: "Secure SaaS B2B Ecosystem", appleWebApp: { capable: true, statusBarStyle: "black-translucent", title: "JUMPA.ID", }, }; import { OmniSyncProvider } from "@/components/OmniSyncProvider"; export default async function RootLayout({ children, }: { children: React.ReactNode; }) { const cookieStore = await cookies(); const locale = cookieStore.get('NEXT_LOCALE')?.value || 'id'; // TSM Versioning Format: [TSM.ID].hh.mm.ss.DD.MM.YYYY.XXXX const date = new Date(); const format2 = (n: number) => n.toString().padStart(2, '0'); const hh = format2(date.getUTCHours()); const mm = format2(date.getUTCMinutes()); const ss = format2(date.getUTCSeconds()); const DD = format2(date.getUTCDate()); const MM = format2(date.getUTCMonth() + 1); const YYYY = date.getUTCFullYear(); const XXXX = crypto.randomBytes(2).toString('hex').toUpperCase(); const tsmVersion = `[TSM.ID].${hh}.${mm}.${ss}.${DD}.${MM}.${YYYY}.${XXXX}`; return (