From c190a4f67eef171eef4d8c85bdcd33c51b7b9b05 Mon Sep 17 00:00:00 2001 From: Marc Mintel Date: Sat, 27 Jun 2026 08:01:27 +0200 Subject: [PATCH] perf: dynamically import InitialLoader and MobileBottomNav to remove framer-motion from main JS bundle --- app/[locale]/layout.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/[locale]/layout.tsx b/app/[locale]/layout.tsx index 805cd4b7d..eb2a81031 100644 --- a/app/[locale]/layout.tsx +++ b/app/[locale]/layout.tsx @@ -1,6 +1,6 @@ import { Footer } from '@/components/layout/Footer'; import { Header } from '@/components/layout/Header'; -import { MobileBottomNav } from '@/components/layout/MobileBottomNav'; +import nextDynamic from 'next/dynamic'; import JsonLd from '@/components/JsonLd'; import SkipLink from '@/components/SkipLink'; import AnalyticsShell from '@/components/analytics/AnalyticsShell'; @@ -17,7 +17,10 @@ import { mapFileSlugToTranslated } from '@/lib/slugs'; import { cookies } from 'next/headers'; import { TransitionProvider } from '@/components/providers/TransitionProvider'; -import { InitialLoader } from '@/components/providers/InitialLoader'; + +const InitialLoader = nextDynamic(() => import('@/components/providers/InitialLoader').then(mod => mod.InitialLoader), { ssr: false }); +const MobileBottomNav = nextDynamic(() => import('@/components/layout/MobileBottomNav').then(mod => mod.MobileBottomNav), { ssr: false }); + import { DynamicCorporateBackground as CorporateBackground } from '@/components/decorations/DynamicCorporateBackground'; import { DynamicPageTransitionShutter as PageTransitionShutter } from '@/components/providers/DynamicPageTransitionShutter';