mdcms/app/assets/icons/history.svg
Claude 0386422a99
v0.4 Phase 2: local SVG icon system, remove Google Material Icons
- Add 17 SVG icons to app/assets/icons/ (Material Icons paths, Apache 2.0)
- Remove Google Material Icons and Symbols CDN link tags
- Add normaliseIconName(), loadIcon(), getIcon(), iconEl() — icon name
  normalisation per spec §2.3, async fetch-and-cache, sync accessor,
  element builder with broken-image fallback for missing icons
- Preload all standard icons (+ categories-selecticon if set) concurrently
  in boot() before UI is built, so all icon references are sync after that
- Replace ICONS object with icon cache system throughout:
  theme toggle → light_mode/dark_mode, search → search, hamburgers → menu,
  section toggles → arrow_right/arrow_drop_down, dropdown carets →
  arrow_drop_down, category selecticon → normalised SVG lookup
- Update .toggle-icon, .category-icon, .nav-caret CSS for SVG layout
- Add .mdcms-icon CSS class (inline-flex, currentColor fill)
- Fix pre-existing ICONS.close bug (was undefined; hamburger now always
  shows menu icon)

https://claude.ai/code/session_015XtsgTMi8UtmgxEgb5Qt2c
2026-05-17 17:19:33 +00:00

1 line
323 B
XML

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9zm-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8H12z"/></svg>