perf(website): speed up mobile hero load and prevent layout shifts

- Enable SSR for home sections and gate GSAP entrance animations on fast
  desktop hydration so mobile no longer waits ~10s on JS to show content.
- Conditionally mount desktop-only video + AutumnConfig behind an isXl
  viewport check so mobile never downloads them.
- Replace the 625KB mobile hero webm with a 63KB static webp frame.
- SSR-safe gsap.registerPlugin and hover-only video mounting in features
  and testimonials.

Made-with: Cursor
This commit is contained in:
Ayush Rodrigues
2026-04-23 11:59:09 +01:00
parent 19533b00fe
commit 20533106eb
8 changed files with 183 additions and 71 deletions

View File

@@ -1,21 +1,17 @@
"use client";
import dynamic from "next/dynamic";
import { useEffect } from "react";
import FAQ from "./faq";
import Features from "./features";
import Footer from "./footer";
import Hero from "./hero";
import Pricing from "./pricing";
import PricingModels from "./pricing-models";
import Problem from "./problem";
import ProductionScale from "./production-scale";
import SectionDivider from "./section-divider";
const ProductionScale = dynamic(
() => import("@/components/production-scale"),
);
const Problem = dynamic(() => import("@/components/problem"));
const Solution = dynamic(() => import("@/components/solution"));
const Features = dynamic(() => import("@/components/features"));
const PricingModels = dynamic(() => import("@/components/pricing-models"));
const Testimonials = dynamic(() => import("@/components/testimonials"));
const Pricing = dynamic(() => import("@/components/pricing"));
const FAQ = dynamic(() => import("@/components/faq"));
const Footer = dynamic(() => import("@/components/footer"));
import Solution from "./solution";
import Testimonials from "./testimonials";
function scrollToHash() {
const hash = window.location.hash;