// ----------------------------- // Projektübersicht — Icon-System // ----------------------------- // Zentrale Bibliothek von Inline-SVG-Icons (Line-Icons, 1.75px Stroke, // currentColor -> erbt automatisch die Textfarbe inkl. Dark Mode, keine // eigene Farbdefinition nötig). Ersetzt alle bisherigen Emoji-Icons in der // App. Wird als globale Funktion `icon(name, extraClass)` bereitgestellt, // geladen früh (nach js/utils.js, vor js/ui.js und allen Renderern, die sie // nutzen). Rückgabe: HTML-String eines mit dem SVG // darin, oder leerer String bei unbekanntem Namen. const ICONS = { menu: '', close: '', sun: '', moon: '', chevronLeft: '', chevronRight: '', chevronDown: '', grip: '', flag: '', checklist: '', board: '', chart: '', folder: '', people: '', plus: '', copy: '', trash: '', fileText: '', play: '', table: '', download: '', upload: '', user: '', logout: '', settings: '', shield: '', mail: '', warning: '', history: '', }; // icon: liefert das benannte Icon als -Wrapper (Größe wird // per CSS über `.icon svg { width/height: 1em; }` gesteuert, siehe // styles.css) — dadurch skaliert das Icon automatisch mit font-size wie ein // Zeichen. `extraClass` (optional) wird zusätzlich auf den gesetzt. function icon(name, extraClass){ const svg = ICONS[name]; if(!svg) return ''; return `${svg}`; }