AppIcon.tsx whitelists imported Lucide icons rather than doing a dynamic
lookup, so both apps' sidebar/dashboard icons were silently rendering
nothing -- same gotcha as the earlier 'Register Gauge icon for plant' fix.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
AppIcon.js was a stale, tracked, out-of-sync compiled duplicate of
AppIcon.tsx (missing Zap/Thermometer too) sitting next to the real
source. Since imports use bare 'from ./AppIcon' with no extension,
Vite's default resolve order picks .js before .tsx, so it may have
been silently shadowing the real source. Removed it so there's a
single source of truth, and added Gauge (plant's icon) there.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Portal sidebar was rendering nothing for the history app entry because
History was missing from the Lucide icon map.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Maintenance (Wrench) and Reports (BarChart2) icons were missing from
the hardcoded iconMap, causing those app tiles to show no icon.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- index.css: light body (#f4f5f7), white cards, sidebar stays dark navy
- AppIcon.tsx: Lucide icon lookup component for app tiles and nav
- Sidebar.tsx: Lucide nav icons (LayoutGrid, Users, Activity, LogOut)
- Dashboard.tsx: white cards with shadows, coloured Lucide app icons
- AdminMonitor.tsx: light theme throughout, Lucide tab icons,
better status colours for light backgrounds
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>