// List view — the main "Opdrachten" screen const OpdrachtCard = ({ item, onClick }) => { const P = window.PICO; return (
{ e.currentTarget.style.transform = 'translateY(-1px)'; }} onMouseLeave={(e) => { e.currentTarget.style.transform = 'none'; }} > {/* Top row: thumb + title */}
{item.address}, {item.postcode}
#{item.id}
{/* Pills row */}
{/* Divider */}
{/* Bottom row: customer + warning */}
{item.customer}
{item.hasWarning && }
); }; const ListView = ({ onOpen }) => { const P = window.PICO; const [query, setQuery] = React.useState(''); const filtered = window.MOCK_OPDRACHTEN.filter(o => { if (!query) return true; const q = query.toLowerCase(); return ( o.id.toLowerCase().includes(q) || o.address.toLowerCase().includes(q) || o.postcode.toLowerCase().includes(q) || o.customer.toLowerCase().includes(q) || o.email.toLowerCase().includes(q) ); }); return (
{/* Header bar */}
Partner
{/* Title + filter */}

Opdrachten

{/* Search */}
setQuery(e.target.value)} style={{ flex: 1, border: 'none', outline: 'none', background: 'transparent', fontFamily: '"Plus Jakarta Sans", system-ui', fontSize: 15, color: P.ink, letterSpacing: -0.2, }} />
{/* Cards */}
{filtered.map(item => ( onOpen(item)} /> ))} {filtered.length === 0 && (
Geen opdrachten gevonden.
)}
); }; Object.assign(window, { ListView });