- 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.
31 lines
997 B
JavaScript
31 lines
997 B
JavaScript
import { defineConfig } from 'vite';
|
|
import { resolve } from 'node:path';
|
|
|
|
export default defineConfig({
|
|
root: 'web',
|
|
publicDir: false,
|
|
server: {
|
|
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 }
|
|
}
|
|
},
|
|
build: {
|
|
outDir: '../server/public',
|
|
emptyOutDir: true,
|
|
rollupOptions: {
|
|
input: {
|
|
kiosk: resolve(__dirname, 'web/index.html'),
|
|
admin: resolve(__dirname, 'web/admin/index.html'),
|
|
docs: resolve(__dirname, 'web/docs/index.html'),
|
|
master: resolve(__dirname, 'web/master/index.html')
|
|
}
|
|
}
|
|
}
|
|
});
|