feat(landing): Lazy load components, prerender of pages
This commit is contained in:
@@ -1,28 +1,16 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="landing-page">
|
<div class="landing-page">
|
||||||
<!-- Hero Section -->
|
<!-- Hero Section (above the fold - load eagerly) -->
|
||||||
<LandingHeroSection />
|
<LandingHeroSection />
|
||||||
|
|
||||||
<!-- Stats Section (Social Proof) -->
|
<!-- Below-the-fold sections - lazy loaded for better initial performance -->
|
||||||
<LandingStatsSection />
|
<LazyLandingStatsSection />
|
||||||
|
<LazyLandingBenefitsWorksCouncil />
|
||||||
<!-- Benefits for Works Councils -->
|
<LazyLandingFeaturesGrid />
|
||||||
<LandingBenefitsWorksCouncil />
|
<LazyLandingAdditionalFeatures />
|
||||||
|
<LazyLandingFrameworkAgreement />
|
||||||
<!-- Features Grid (Bento Layout) -->
|
<LazyLandingNewsletterSignup />
|
||||||
<LandingFeaturesGrid />
|
<LazyLandingExpertAccess />
|
||||||
|
|
||||||
<!-- Additional Features / Trust Signals -->
|
|
||||||
<LandingAdditionalFeatures />
|
|
||||||
|
|
||||||
<!-- Framework Agreement Section -->
|
|
||||||
<LandingFrameworkAgreement />
|
|
||||||
|
|
||||||
<!-- Newsletter Signup (Glass-morphism) -->
|
|
||||||
<LandingNewsletterSignup />
|
|
||||||
|
|
||||||
<!-- Expert Access CTA (Gradient Mesh) -->
|
|
||||||
<LandingExpertAccess />
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,17 @@ export default defineNuxtConfig({
|
|||||||
devtools: { enabled: true },
|
devtools: { enabled: true },
|
||||||
ssr: 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 configuration - bundle icons for SSR to prevent hydration mismatches
|
||||||
icon: {
|
icon: {
|
||||||
serverBundle: 'remote'
|
serverBundle: 'remote'
|
||||||
@@ -29,12 +40,12 @@ export default defineNuxtConfig({
|
|||||||
{
|
{
|
||||||
name: 'Bricolage Grotesque',
|
name: 'Bricolage Grotesque',
|
||||||
provider: 'google',
|
provider: 'google',
|
||||||
weights: [400, 500, 600, 700, 800]
|
weights: [400, 600, 700]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'DM Sans',
|
name: 'DM Sans',
|
||||||
provider: 'google',
|
provider: 'google',
|
||||||
weights: [400, 500, 600, 700]
|
weights: [400, 500, 600]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user