/* eslint-disable @next/next/no-sync-scripts */ /* eslint-disable @next/next/no-page-custom-font */ /* eslint-disable no-console */ import "@/styles/global.css"; import { GoogleAnalytics } from "@next/third-parties/google"; import { cookies } from "next/headers"; import { DomainStateEnum } from "@/@types/enums/domain-state-enum"; import { Error } from "@/app/error"; import Footer from "@/components/shared/footer/Footer"; import FooterB2C from "@/components/shared/footer/Footer-b2c"; import FooterOtel from "@/components/shared/footer/Footer-otel"; import Header from "@/components/shared/header/Header"; import Loader from "@/components/shared/loader/Loader"; import NotifyDialogControl from "@/components/shared/notify-dialog/notify-dialog-control"; import Overlay from "@/components/shared/overlay/overlay"; import type { StrategyType } from "@/hooks/useApp"; import MainContent from "@/layouts/main-layout/main-content"; import { getGoogleAnalyticsAddon } from "@/libs/helpers/addon-helper"; import type { IClientConfiguration } from "@/models/client-configs.model"; import CoreProvider from "@/providers/core-provider/core-provider"; import { ErrorBoundary } from "@/providers/error-boundary/error-boundary"; import { InitializeProvider } from "@/providers/initialize-provider/initialize-provider"; import { LocalizationProvider } from "@/providers/localization-provider/localization-provider"; import QueryProvider from "@/providers/query-provider/QueryProvider"; import { ServerDataProvider } from "@/providers/server-data-provider/server-data-provider"; import StoreProvider from "@/providers/store-provider/StoreProvider"; import ThemeProvider from "@/providers/theme-provider/ThemeProvider"; import { Preload } from "@/server/preload/preload"; import type { StrategyKeysTypes } from "@/services/app-api/apis/strategy.services"; import { Main } from "@/templates/Main"; export { metadata } from "@/data/app-data/metadata"; interface AppMetaData { title: string; } const appMetaData: Record = { B2C: { title: "Tatil | Size Uygun tatil Seçenekleri", }, Corporate: { title: "Jolly Kurumsal Seyahatler", }, Otel: { title: "Otel", }, }; export default async function StaticRoutesLayout({ children, }: { children: React.ReactNode; }) { const baseUrl = await Preload.getBaseUrl(); let clientToken = await Preload.getClientToken(baseUrl.origin); if (!clientToken) { return ; } let clientConfig: IClientConfiguration | null = await Preload.getClientConfigs(baseUrl.origin, clientToken); if (!clientConfig) { await Preload.clearClientToken(baseUrl.origin); clientToken = await Preload.getClientToken(baseUrl.origin, true); clientConfig = await Preload.getClientConfigs(baseUrl.origin, clientToken); if (!clientConfig) { return ; } } if (clientConfig.domainState === DomainStateEnum.Closed) { return ; } const strategyKeys = await Preload.getStrategyKeys( baseUrl.origin, clientToken, ); if (!strategyKeys) { return ; } const appAddons = await Preload.getDomainAddons(baseUrl.origin, clientToken); if (!appAddons) { return ; } const GaAddonWithKey = getGoogleAnalyticsAddon(appAddons); const authCookie = cookies().get("auth"); const authTokenInfo = authCookie ? JSON.parse(authCookie.value) : null; const languages = cookies().get("lng"); const currency = cookies().get("currency"); const appData = { strategy: clientConfig.domainType, }; const documentTitle = appData.strategy === "Otel" ? clientConfig.clientScope : appMetaData[clientConfig.domainType as StrategyType]?.title; return ( {documentTitle} {baseUrl.host.includes("turkishairlines.jollytur.com") && (