"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 { 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 (
Smart-Admin Copilot
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 (
);
}