Untitled
unknown
plain_text
2 months ago
2.7 kB
3
Indexable
"use client"; import { useEffect, useState } from "react"; import HeroSection from "../components/HeroSection"; import YoutubePlayer from "../components/YoutubePlayer"; import AboutPlaceSection from "../components/AboutPlaceSection"; import { fetchHomePageData } from "@/api/homeApi"; import { HomePageData } from "@/types/home"; import { useSelector } from "react-redux"; import { RootState } from "./store"; import EducationImprovement from "@/components/EducationImprovement"; import CenterSection from "@/components/CenterSection"; import CenterMainPage from "@/components/CenterMainPage"; import MainpageModal from "@/components/modals/MainpageModal"; import Cookies from "js-cookie"; export default function Home() { const [pageData, setPageData] = useState<HomePageData | null>(null); const [loading, setLoading] = useState(true); const [error, setError] = useState<string | null>(null); const [allContentLoaded, setAllContentLoaded] = useState(false); const user = useSelector((state: RootState) => state.user); const token = typeof window !== "undefined" ? localStorage.getItem("token") : null; const [showModal, setShowModal] = useState<boolean>(false); useEffect(() => { setShowModal(true); }, []); const handleCloseModal = () => { Cookies.set("mainPageModal", "true", { expires: 60 }); setShowModal(false); }; useEffect(() => { const loadData = async () => { try { const response = await fetchHomePageData(); console.log(response); setPageData(response.data); setLoading(false); } catch (err) { setError("Failed to load data"); setLoading(false); } }; loadData(); }, []); useEffect(() => { const handleWindowLoad = () => { setAllContentLoaded(true); }; window.addEventListener("load", handleWindowLoad); return () => window.removeEventListener("load", handleWindowLoad); }, []); if (loading) return <div>Loading...</div>; if (error) return <div>Error: {error}</div>; if (!pageData) return <div>No data available</div>; return ( <main className={`relative w-full overflow-x-hidden ${!allContentLoaded ? "overflow-y-hidden" : ""}`}> <div className="relative w-full"> <HeroSection data={pageData.hero} /> {/*<YoutubePlayer />*/} {/*<EducationImprovement data={pageData.courses} />*/} {/*<CenterSection key="center" data={pageData.centerContent} />*/} {/*<CenterMainPage data={pageData.centers} />*/} {/*user?.id || token ? null : <AboutPlaceSection />*/} {showModal && ( <MainpageModal data={pageData.popup} onClose={handleCloseModal} /> )} </div> </main> ); }
Editor is loading...
Leave a Comment