/* Icons — simple stroke set */ const Icon = { Map: (p) => , List: (p) => , Grid: (p) => , Plus: (p) => , Search: (p) => , X: (p) => , Back: (p) => , Home: (p) => , Leaf: (p) => , Barrel: (p) => , Chart: (p) => , Settings: (p) => , Calendar: (p) => , Undo: (p) => , Trash: (p) => , Check: (p) => , Arrow: (p) => , Sliders: (p) => , }; window.Icon = Icon; /* Sorten-Farben dynamisch aus window.SORTEN (vom App-State gepflegt) */ window.getSorteFarbe = function(name) { const s = (window.SORTEN || []).find(x => x.name === name); return s ? s.farbe : "#888"; }; /* Sort color dot */ function SortPill({ sorte }) { const c = window.getSorteFarbe(sorte); return ( {sorte} ); } window.SortPill = SortPill; /* Format numbers (de-DE) */ window.fmtHa = (n) => n.toLocaleString("de-DE", { minimumFractionDigits: 2, maximumFractionDigits: 2 }) + " ha"; window.fmtNum = (n, d = 2) => n.toLocaleString("de-DE", { minimumFractionDigits: d, maximumFractionDigits: d }); window.fmtDate = (iso) => { const d = new Date(iso); return d.toLocaleDateString("de-DE", { day: "2-digit", month: "short", year: "numeric" }); }; /* Tiny illustrative card preview — stylised rows of vines */ function VinePreview({ color }) { return ( ); } window.VinePreview = VinePreview;