"use client"; import { useEffect, useState } from "react"; import { Navbar } from "@/features/home/components/Navbar"; import { Hero } from "@/features/home/components/Hero"; import dynamic from "next/dynamic"; import { Button } from "@/components/ui/button"; import { Sparkles } from "lucide-react"; // Dynamically load below-the-fold components to improve initial response time and rendering speed const Features = dynamic(() => import("@/features/home/components/Features").then(mod => mod.Features), { ssr: true }); const HowItWorks = dynamic(() => import("@/features/home/components/HowItWorks").then(mod => mod.HowItWorks), { ssr: true }); const Stats = dynamic(() => import("@/features/home/components/Stats").then(mod => mod.Stats), { ssr: true }); const Footer = dynamic(() => import("@/features/home/components/Footer").then(mod => mod.Footer), { ssr: true }); function LoadingScreen({ onComplete }: { onComplete: () => void }) { const [progress, setProgress] = useState(0); useEffect(() => { const interval = setInterval(() => { setProgress((prev) => { if (prev >= 100) { clearInterval(interval); setTimeout(onComplete, 300); return 100; } return prev + Math.random() * 15; }); }, 100); return () => clearInterval(interval); }, [onComplete]); return (

LexiChain

Loading amazing experience...

); } function ScrollProgressBar() { const [progress, setProgress] = useState(0); useEffect(() => { const handleScroll = () => { const scrollTop = window.scrollY; const docHeight = document.documentElement.scrollHeight - window.innerHeight; const scrollPercent = (scrollTop / docHeight) * 100; setProgress(scrollPercent); }; window.addEventListener("scroll", handleScroll, { passive: true }); return () => window.removeEventListener("scroll", handleScroll); }, []); return (
); } function BackToTop() { const [isVisible, setIsVisible] = useState(false); useEffect(() => { const handleScroll = () => { setIsVisible(window.scrollY > 500); }; window.addEventListener("scroll", handleScroll, { passive: true }); return () => window.removeEventListener("scroll", handleScroll); }, []); const scrollToTop = () => { window.scrollTo({ top: 0, behavior: "smooth" }); }; return ( ); } export function HomePage() { const [isLoading, setIsLoading] = useState(true); const handleLoadingComplete = () => { setIsLoading(false); }; return (
{isLoading && }
); }