perf: resolve Lighthouse issues, optimize CSS and JS payload

This commit is contained in:
2026-06-25 13:13:15 +02:00
parent f463e854fd
commit f9f0970f3f
4 changed files with 11 additions and 6 deletions

View File

@@ -17,9 +17,12 @@ import { mapFileSlugToTranslated } from '@/lib/slugs';
import { cookies } from 'next/headers'; import { cookies } from 'next/headers';
import { TransitionProvider } from '@/components/providers/TransitionProvider'; import { TransitionProvider } from '@/components/providers/TransitionProvider';
import { PageTransitionShutter } from '@/components/providers/PageTransitionShutter';
import { InitialLoader } from '@/components/providers/InitialLoader'; import { InitialLoader } from '@/components/providers/InitialLoader';
import { CorporateBackground } from '@/components/decorations/CorporateBackground'; import dynamic from 'next/dynamic';
const CorporateBackground = dynamic(() => import('@/components/decorations/CorporateBackground').then(mod => mod.CorporateBackground), { ssr: false });
const PageTransitionShutter = dynamic(() => import('@/components/providers/PageTransitionShutter').then(mod => mod.PageTransitionShutter), { ssr: false });
const inter = Inter({ const inter = Inter({
subsets: ['latin'], subsets: ['latin'],
display: 'swap', display: 'swap',

View File

@@ -2,7 +2,9 @@
import React, { createContext, useContext, useState, useCallback, ReactNode, useEffect } from 'react'; import React, { createContext, useContext, useState, useCallback, ReactNode, useEffect } from 'react';
import { useRouter, usePathname, useSearchParams } from 'next/navigation'; import { useRouter, usePathname, useSearchParams } from 'next/navigation';
import { LazyMotion, domAnimation } from 'framer-motion'; import { LazyMotion } from 'framer-motion';
const loadFeatures = () => import('@/lib/framer-features').then(res => res.default);
interface TransitionContextType { interface TransitionContextType {
isTransitioning: boolean; isTransitioning: boolean;
@@ -69,7 +71,7 @@ export function TransitionProvider({ children }: { children: ReactNode }) {
setTransitionMessage={setTransitionMessage} setTransitionMessage={setTransitionMessage}
/> />
</React.Suspense> </React.Suspense>
<LazyMotion features={domAnimation}> <LazyMotion features={loadFeatures}>
{children} {children}
</LazyMotion> </LazyMotion>
</TransitionContext.Provider> </TransitionContext.Provider>

View File

@@ -15,6 +15,7 @@ const nextConfig = {
pagesBufferLength: 2, pagesBufferLength: 2,
}, },
experimental: { experimental: {
optimizeCss: true,
staleTimes: { staleTimes: {
dynamic: 0, dynamic: 0,
static: 30, static: 30,

View File

@@ -157,8 +157,7 @@
"last 2 chrome versions", "last 2 chrome versions",
"last 2 firefox versions", "last 2 firefox versions",
"last 2 edge versions", "last 2 edge versions",
"safari >= 15.4", "safari >= 15.4"
"not dead"
], ],
"peerDependencies": { "peerDependencies": {
"lucide-react": "^0.563.0" "lucide-react": "^0.563.0"