feat(landing): Lazy load components, prerender of pages

This commit is contained in:
2026-01-16 17:34:42 +01:00
parent 75f12ce775
commit 00b49a5cb2
2 changed files with 22 additions and 23 deletions

View File

@@ -1,28 +1,16 @@
<template>
<div class="landing-page">
<!-- Hero Section -->
<!-- Hero Section (above the fold - load eagerly) -->
<LandingHeroSection />
<!-- Stats Section (Social Proof) -->
<LandingStatsSection />
<!-- Benefits for Works Councils -->
<LandingBenefitsWorksCouncil />
<!-- Features Grid (Bento Layout) -->
<LandingFeaturesGrid />
<!-- Additional Features / Trust Signals -->
<LandingAdditionalFeatures />
<!-- Framework Agreement Section -->
<LandingFrameworkAgreement />
<!-- Newsletter Signup (Glass-morphism) -->
<LandingNewsletterSignup />
<!-- Expert Access CTA (Gradient Mesh) -->
<LandingExpertAccess />
<!-- Below-the-fold sections - lazy loaded for better initial performance -->
<LazyLandingStatsSection />
<LazyLandingBenefitsWorksCouncil />
<LazyLandingFeaturesGrid />
<LazyLandingAdditionalFeatures />
<LazyLandingFrameworkAgreement />
<LazyLandingNewsletterSignup />
<LazyLandingExpertAccess />
</div>
</template>

View File

@@ -5,6 +5,17 @@ export default defineNuxtConfig({
devtools: { enabled: true },
ssr: true,
// Prerender static pages at build time for instant loading
routeRules: {
'/': { prerender: true },
'/team': { prerender: true },
'/unternehmen': { prerender: true },
'/impressum': { prerender: true },
'/datenschutz': { prerender: true },
'/newsletter-bestaetigt': { prerender: true },
'/kontakt': { prerender: true }
},
// Icon configuration - bundle icons for SSR to prevent hydration mismatches
icon: {
serverBundle: 'remote'
@@ -29,12 +40,12 @@ export default defineNuxtConfig({
{
name: 'Bricolage Grotesque',
provider: 'google',
weights: [400, 500, 600, 700, 800]
weights: [400, 600, 700]
},
{
name: 'DM Sans',
provider: 'google',
weights: [400, 500, 600, 700]
weights: [400, 500, 600]
}
]
},