# SVG Icon Integration ## Overview Replaced all emoji icons with local SVG files to ensure consistent rendering across all systems, particularly on Raspberry Pi devices where emoji fonts may not be available. ## Icon Files Created Location: `/app/static/icons/` 1. **moon.svg** - Dark mode toggle (off state) 2. **sun.svg** - Dark mode toggle (on state) 3. **home.svg** - Dashboard/home navigation 4. **monitor.svg** - Players/screens 5. **playlist.svg** - Playlist management 6. **edit.svg** - Edit actions 7. **trash.svg** - Delete actions 8. **upload.svg** - Upload/media files 9. **info.svg** - Information/details 10. **warning.svg** - Warnings/alerts ## Icon Specifications - **Size**: 24x24 viewBox (scalable) - **Style**: Feather Icons design (minimal, stroke-based) - **Color**: Uses `currentColor` for automatic theme adaptation - **Stroke**: 2px width, round line caps and joins - **Format**: Clean SVG with no fills (stroke-only for consistency) ## Templates Updated ### 1. base.html (Navigation & Dark Mode) - Header logo: monitor.svg - Dashboard link: home.svg - Players link: monitor.svg - Playlists link: playlist.svg - Dark mode toggle: moon.svg ↔ sun.svg (dynamic) **CSS Changes:** - Added icon support to nav links with `display: flex` - Icons use `filter: brightness(0) invert(1)` for white color on dark header - Dark mode toggle icon changes via JavaScript using `src` attribute ### 2. dashboard.html (Stats Cards & Quick Actions) - Players card: monitor.svg - Playlists card: playlist.svg - Media Library card: upload.svg - Storage card: info.svg - Quick Actions buttons: monitor.svg, playlist.svg, upload.svg - Workflow Guide header: info.svg ### 3. content_list_new.html (Playlist Management) - Page header: playlist.svg - Playlists card header: playlist.svg - Delete button: trash.svg - Empty state: playlist.svg (64px, opacity 0.3) - Upload Media card header: upload.svg - Upload icon (large): upload.svg (96px, opacity 0.5) - Go to Upload button: upload.svg - Media library icons: info.svg (images), monitor.svg (videos) - Player Assignments header: monitor.svg ### 4. upload_media.html (Upload Page) - Page header: upload.svg - Back button: playlist.svg - Select Files card: upload.svg - Drag-drop zone: upload.svg (96px, opacity 0.3) - Browse button: upload.svg - Upload Settings header: info.svg - Upload button: upload.svg ### 5. manage_player.html (Player Management) - Page header: monitor.svg - Back button: monitor.svg - Status icons: info.svg (online), warning.svg (offline) - Edit Credentials card: edit.svg - Save button: edit.svg - Assign Playlist card: playlist.svg - Warning alert: warning.svg - Assign button: playlist.svg - Create Playlist button: playlist.svg - Edit Playlist button: edit.svg - Player Logs card: info.svg ## Usage Pattern ```html