import { useState, useEffect } from 'react' import { useTranslation } from 'react-i18next' import Navbar from '../components/Navbar' import Footer from '../components/Footer' import DynamicPageRenderer from '../components/DynamicPageRenderer' import { API_BASE, type Category, type PageSection } from '../types' export default function HomePage() { const [categories, setCategories] = useState([]) const [sections, setSections] = useState([]) const [loading, setLoading] = useState(true) const [categoriesLoading, setCategoriesLoading] = useState(true) const { i18n } = useTranslation() useEffect(() => { const fetchCategories = async () => { try { const res = await fetch(`${API_BASE}/categories?lang=${i18n.language}`) const cats: Category[] = await res.json() setCategories(cats) } catch (err) { console.error('Categories error:', err) } finally { setCategoriesLoading(false) } } const fetchPageLayout = async () => { try { const res = await fetch(`${API_BASE}/pages/home?lang=${i18n.language}`) const pageData = await res.json() if (pageData && pageData.sections) { setSections(pageData.sections) } } catch (err) { console.error('Page layout error:', err) } finally { setLoading(false) } } fetchCategories() fetchPageLayout() }, [i18n.language]) return (
{loading ? (
) : ( )}
) }