import React, { useEffect, useState, useRef } from 'react';
import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';
import styles from './components/Styles.module.css';
// Import components
import Login from './components/Login';
import Header from './components/Header';
import HeroSection from './components/HeroSection';
import ServicesSection from './components/ServicesSection';
import ProductSection from './components/ProductSection';
import AcademySection from './components/AcademySection';
import AboutUsSection from './components/AboutUsSection';
import KnowledgeBaseSection from './components/KnowledgeBaseSection';
import ClientsSection from './components/ClientsSection';
import Footer from './components/Footer';
import ProductDetailPage from './components/ProductDetailPage';
function HomePage({
hoveredCard,
setHoveredCard,
selectedProduct,
setSelectedProduct,
showedModal,
setShowedModal,
productSectionRef,
courseSectionRef
}) {
return (
<>
>
);
}
function App() {
const [loading, setLoading] = useState(true);
// State yang diperlukan untuk HomePage
const [hoveredCard, setHoveredCard] = useState(null);
const [selectedProduct, setSelectedProduct] = useState({});
const [showedModal, setShowedModal] = useState(null); // 'product' | 'login' | null
const [postLoginAction, setPostLoginAction] = useState(null);
const [username, setUsername] = useState(null);
const productSectionRef = useRef(null);
const courseSectionRef = useRef(null);
const scrollToProduct = () => {
productSectionRef.current?.scrollIntoView({ behavior: "smooth" });
};
const scrollToCourse = () => {
courseSectionRef.current?.scrollIntoView({ behavior: "smooth" });
};
useEffect(() => {
const timer = setTimeout(() => {
setLoading(false);
}, 1000);
return () => clearTimeout(timer);
}, []);
if (loading) {
return (
);
}
return (
}
/>
{/* Unified Modal */}
{showedModal && (
{
setShowedModal(null);
setSelectedProduct({});
}}
>
e.stopPropagation()}
>
{showedModal === 'product' && (
{
setShowedModal(null);
setSelectedProduct({});
}}
/>
)}
{showedModal === 'login' && (
setShowedModal(null)} />
)}
)}
);
}
export default App;