// Status pills matching the exact screenshots
const StatusPill = ({ statusKey, label, withHourglass = false, size = 'md' }) => {
const P = window.PICO;
const map = {
offerte: { bg: P.offerteBg, fg: P.offerteFg, hourglass: true },
installeren: { bg: P.installerenBg, fg: P.installerenFg, hourglass: false },
schouwen: { bg: P.schouwenBg, fg: P.schouwenFg, hourglass: false },
accepteren: { bg: P.accepterenBg, fg: P.accepterenFg, hourglass: false },
matchen: { bg: P.matchenBg, fg: P.matchenFg, hourglass: false },
};
const s = map[statusKey] || { bg: P.genericBg, fg: P.genericFg };
const paddings = size === 'sm' ? '3px 10px' : '5px 12px';
const fs = size === 'sm' ? 13 : 14;
return (
{label}
{(withHourglass || s.hourglass) && (
)}
);
};
// Category pill (Generiek, Warmtepomp, Zonnepanelen)
const CategoryPill = ({ category }) => {
const P = window.PICO;
const iconMap = {
generic: ,
heatpump: ,
solar: ,
};
return (
{iconMap[category.icon] || iconMap.generic}
{category.label}
);
};
Object.assign(window, { StatusPill, CategoryPill });