From 740bb9a4a1630e70b91b245f57821efffa5945f0 Mon Sep 17 00:00:00 2001 From: mortezaei Date: Mon, 17 Aug 2026 17:38:10 +0330 Subject: [PATCH] perf(core): optimize Layer 1 SSR cookie reading and unify synchronous head bootstrap --- src/app/layout.tsx | 107 +++++++++++++-------------------------------- 1 file changed, 31 insertions(+), 76 deletions(-) diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 9d284f4..2077197 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,8 +1,7 @@ import type { Metadata, Viewport } from "next"; import { Amiri } from "next/font/google"; import localFont from "next/font/local"; -import { headers } from "next/headers"; -import Script from "next/script"; +import { cookies, headers } from "next/headers"; import Providers from "./providers"; import "./globals.css"; import DevClickToComponent from "@/components/Componentes/dev-click-to-component"; @@ -54,10 +53,20 @@ export default async function RootLayout({ }: Readonly<{ children: React.ReactNode; }>) { - const requestHeaders = await headers(); + const [cookieStore, requestHeaders] = await Promise.all([ + cookies(), + headers(), + ]); const headerLocale = requestHeaders.get("x-habib-locale"); + const cookieLocale = + cookieStore.get("HABIB_LANGUAGE")?.value ?? + cookieStore.get("habib_language")?.value; const locale = - headerLocale && isLocale(headerLocale) ? headerLocale : defaultLocale; + headerLocale && isLocale(headerLocale) + ? headerLocale + : isLocale(cookieLocale) + ? cookieLocale + : defaultLocale; return ( -