/* global React, PAPERS, PaperTexture, Icon, BrandStamp */ const { useState } = React; function CompareModal({ papers, onClose, onRemove, addToCart, navigate }) { if (!papers.length) return null; const cols = papers.length; return (
e.stopPropagation()}>
「 Side-by-side 」

Comparing {papers.length} papers

{/* Top row: swatch + name */}
{papers.map(p => (
{p.brand}
{p.name}
))}
{/* Spec rows */} {[ ["Weight", p => p.gsm + " gsm"], ["Finish", p => p.finish], ["Color", p => p.color], ["Grain", p => p.grain], ["Origin", p => p.origin], ["MOQ", p => p.moq + " lembar"], ["Price (min)", p => p.price_min > 0 ? "Rp " + p.price_min.toLocaleString("id-ID") : "—"], ["Gramatur", p => Object.keys(p.price||{}).filter(k=>k!=="default").map(k=>k+"gsm").join(" · ") || "—"], ["Eco", p => p.eco ? "Yes · FSC" : "—"], ["Formats", p => p.formats.join(" · ")], ].map(([h, fn]) => (
{h}
{papers.map(p =>
{fn(p)}
)}
))} {/* Actions row */}
Actions
{papers.map(p => (
))}
); } window.CompareModal = CompareModal;