"use client"; import { useEffect, useState } from "react"; import { Navbar } from "@/components/views/Home/Navbar"; import { Hero } from "@/components/views/Home/Hero"; import { Features } from "@/components/views/Home/Features"; import { HowItWorks } from "@/components/views/Home/HowItWorks"; import { Stats } from "@/components/views/Home/Stats"; import { Footer } from "@/components/views/Home/Footer"; import { Button } from "@/components/ui/button"; import { Sparkles } from "lucide-react"; 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); }; if (isLoading) { return ; } return (
); }