"use client"; import "./globals.css"; import "@/styles/cmdk.css"; import Providers from "@/components/Providers"; import ProgressBar from "@/components/ProgressBar"; import { PostHogPageView } from "@/components/PostHogPageView"; import PostHogIdentifier from "@/components/PostHogIdentifier"; import PopupInfoSuivi from "@/components/PopupInfoSuivi"; import { useEffect, Suspense } from "react"; /** * Simple garde pour maintenir le company_name dans localStorage pour l'affichage UI. * La source de vérité est maintenant entièrement server-side via les cookies et /api/me. */ function OrgPersistenceGuard() { useEffect(() => { if (typeof window === "undefined") return; // Simple garde pour éviter que company_name soit effacé par des scripts externes const preserveCompanyName = () => { const currentName = localStorage.getItem("company_name"); if (currentName) { sessionStorage.setItem("last_company_name", currentName); } }; const restoreCompanyName = () => { const currentName = localStorage.getItem("company_name"); const lastName = sessionStorage.getItem("last_company_name"); if (!currentName && lastName) { localStorage.setItem("company_name", lastName); } }; // Préserver le nom périodiquement preserveCompanyName(); const interval = setInterval(preserveCompanyName, 5000); // Restaurer si nécessaire window.addEventListener("storage", restoreCompanyName); return () => { clearInterval(interval); window.removeEventListener("storage", restoreCompanyName); }; }, []); return null; } export default function RootLayout({ children }: { children: React.ReactNode }) { return ( Espace Paie Odentas {/* Favicons */} {/* Apple Touch Icon */} {/* Manifest PWA */} {/* Theme color */} {/* PWA */} {/* Barre de progression pour les changements de page */} {/* Garde simple pour préserver l'affichage UI */} {children} {/* Popup d'information sur la confidentialité et le suivi */} {/* BugReporter temporairement masqué */} ); }