// Furnishfy — Product detail page function Product({ go, productId, lang }) { const { PRODUCTS, CATEGORIES } = window.FURN; const p = PRODUCTS.find((x) => x.id === productId) || PRODUCTS[0]; const [active, setActive] = useState(0); useReveal(); useEffect(() => { setActive(0); window.scrollTo(0, 0); }, [productId]); const cat = CATEGORIES.find((c) => c.id === p.cat) || { en: "Collection", ar: "مجموعة" }; const related = PRODUCTS.filter((x) => x.cat === p.cat && x.id !== p.id).slice(0, 4); const fill = related.length < 4 ? PRODUCTS.filter((x) => x.id !== p.id && !related.includes(x)).slice(0, 4 - related.length) : []; const relatedAll = [...related, ...fill]; // Build gallery from real images first, fallback to hue placeholders const realImgs = (p.images && p.images.length > 0) ? p.images : (p.thumbnail && !p.thumbnail.includes('no-product') ? [{ url: p.thumbnail }] : []); const hueGallery = [p.hue, (p.hue + 20) % 360, (p.hue + 340) % 360, (p.hue + 40) % 360]; const hasRealImgs = realImgs.length > 0; const specs = [ { label: lang === "ar" ? "الخامة" : "Material", value: lang === "ar" ? (p.material?.ar || "") : (p.material?.en || "") }, { label: lang === "ar" ? "اللون" : "Finish", value: lang === "ar" ? (p.color?.ar || "") : (p.color?.en || "") }, { label: lang === "ar" ? "مدة التوصيل" : "Lead time", value: lang === "ar" ? "6–8 أسابيع" : "6–8 weeks" }, { label: lang === "ar" ? "المنشأ" : "Origin", value: lang === "ar" ? "صنع يدويًا عند الطلب" : "Handmade to order" }, ]; const name = lang === "ar" ? p.ar : p.en; const description = lang === "ar" ? (p.descAr || p.descEn) : (p.descEn || p.descAr); return (
{/* breadcrumb */}
go("home")} style={{ cursor: "pointer" }} className="bc">{lang === "ar" ? "الرئيسية" : "Home"} / go("shop", null, p.cat)} style={{ cursor: "pointer" }} className="bc">{lang === "ar" ? cat.ar : cat.en} / {name}
{/* gallery */}
{/* Main image */} {hasRealImgs ? {name} : } {/* Thumbnails */}
{hasRealImgs ? realImgs.slice(0, 4).map((img, i) => ( )) : hueGallery.map((h, i) => ( )) }
{/* info */}
{p.badge &&
{lang === "ar" ? (p.badge.ar || p.badge.en) : p.badge.en}
}

{name}

{money(p.price)} {p.old && {money(p.old)}} (48)
{/* specs */}
{specs.map((s, i) => { if (!s.value) return null; return (
{s.label} {s.value}
); })}
{/* inquiry button */}
{/* assurances */}
{[ ["truck", lang === "ar" ? "شحن وتركيب مجاني خلال 4 أسابيع" : "Free white-glove delivery within 4 weeks"], ["shield", lang === "ar" ? "ضمان هيكلي لمدة 10 سنوات" : "Backed by a 10-year structural guarantee"], ["leaf", lang === "ar" ? "أخشاب من غابات مدارة بمسؤولية" : "Timber from responsibly managed forests"] ].map((a, i) => (
{a[1]}
))}
{/* related */}

{lang === "ar" ? "قد يعجبك أيضاً" : "You may also like"}

{relatedAll.map((rp, i) => )}
); } function var_radius2() { return getComputedStyle(document.documentElement).getPropertyValue("--radius") || "4px"; } Object.assign(window, { Product });