Add master display UI with audio output management and styling

- Implement main.js for the master display functionality, including WebSocket connection, audio output management, and state handling.
- Create style.css for the master display's visual design, ensuring a cohesive look and feel with a dark theme and responsive layout.
- Integrate device management with a fallback for non-Electron environments, allowing users to select audio outputs.
- Add features for managing favorites, including toggling favorites and filtering by genre.
- Enhance user experience with a responsive favorites grid and drag-to-scroll functionality.
This commit is contained in:
Marco Mooren
2026-05-11 17:55:09 +02:00
parent 86690c3753
commit b86dcfbb8d
40 changed files with 3943 additions and 274 deletions

View File

@@ -8,6 +8,10 @@ export default defineConfig({
port: 5173,
proxy: {
'/api': 'http://localhost:4173',
// Cover-art and other static media are served by the backend's
// express.static('/media') mount; the dev server has to proxy
// them or kiosk thumbnails 404 in `npm run dev`.
'/media': 'http://localhost:4173',
'/ws': { target: 'ws://localhost:4173', ws: true }
}
},
@@ -18,7 +22,8 @@ export default defineConfig({
input: {
kiosk: resolve(__dirname, 'web/index.html'),
admin: resolve(__dirname, 'web/admin/index.html'),
docs: resolve(__dirname, 'web/docs/index.html')
docs: resolve(__dirname, 'web/docs/index.html'),
master: resolve(__dirname, 'web/master/index.html')
}
}
}