import React, { useEffect, useState, useMemo } from "react"; import { Link } from "react-router-dom"; import { base44 } from "@/api/base44Client"; import { useBusiness } from "@/context/BusinessContext"; import { useLang } from "@/context/LanguageContext"; import { blocksByPage, fallbackContent } from "@/lib/contentBlocks"; import HeroSlider from "@/components/store/HeroSlider"; import ProductCard from "@/components/store/ProductCard"; import { Sprout, Sun, Leaf, Truck, ArrowRight } from "lucide-react"; const FEATURE_ICONS = [Sun, Leaf, Truck]; export default function Home() { const { content } = useBusiness(); const { t } = useLang(); const defaults = useMemo(() => fallbackContent(blocksByPage("home")), []); const c = (k) => content[k] || defaults[k]; const [products, setProducts] = useState([]); const [cat, setCat] = useState("All"); useEffect(() => { base44.entities.Product.list("-created_date", 100).then((l) => { setProducts((l || []).filter((p) => p.is_active && !p.pos_only)); }).catch(() => {}); }, []); const categories = useMemo(() => ["All", ...new Set(products.map((p) => p.category).filter(Boolean))], [products]); const featured = useMemo(() => products.filter((p) => cat === "All" || p.category === cat).slice(0, 8), [products, cat]); const features = [1, 2, 3].map((n) => ({ title: c("feature_" + n + "_title"), text: c("feature_" + n + "_text") })); return (
{features.map((f, i) => { const Icon = FEATURE_ICONS[i] || Sprout; return (

{f.title}

{f.text}

); })}

{c("product_section_title") || t("ourProducts")}

{t("productsFresh")}

{t("viewAll")}
{categories.map((c2) => ( ))}
{featured.length === 0 ?

{t("noResults")}

: (
{featured.map((p) => )}
)}

{t("readyToShop")}

{t("readyDesc")}

{t("shopNow")}
); }