ItemOptionsModal:
- Supports inline sub-choices on both preference choices and checkbox options;
sub-choices appear indented when the parent is selected
- Supports shared_subset at the preference-set level (shown unless the selected
choice has disables_subset)
- Pre-selects default choices and their default sub-choices on open
- Add button disabled + red validation hints until all required selections made
- Price total reflects sub-choice extra_cost
TableListPage:
- Zone filter dropdown with multi-select; filters by table group_id
(fetches /api/tables/groups alongside tables and orders)
- Fixed 'mine' and 'free' filters to compose correctly with zone filter
LoginPage:
- Switch to JSON body { username, pin } to match updated /api/auth/login
- Read user fields from data.user.* instead of flat response
vite.config.js: enable SW devOptions so PWA works in dev mode
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
32 lines
803 B
JavaScript
32 lines
803 B
JavaScript
import { defineConfig } from 'vite'
|
|
import react from '@vitejs/plugin-react'
|
|
import { VitePWA } from 'vite-plugin-pwa'
|
|
|
|
export default defineConfig({
|
|
plugins: [
|
|
react(),
|
|
VitePWA({
|
|
registerType: 'autoUpdate',
|
|
manifest: {
|
|
name: 'TableServe',
|
|
short_name: 'TableServe',
|
|
start_url: '/',
|
|
display: 'standalone',
|
|
background_color: '#0f172a',
|
|
theme_color: '#0f172a',
|
|
icons: [
|
|
{ src: '/icons/icon-192.png', sizes: '192x192', type: 'image/png' },
|
|
{ src: '/icons/icon-512.png', sizes: '512x512', type: 'image/png' },
|
|
],
|
|
},
|
|
workbox: {
|
|
globPatterns: ['**/*.{js,css,html,ico,png,svg}'],
|
|
runtimeCaching: [],
|
|
},
|
|
devOptions: {
|
|
enabled: true,
|
|
},
|
|
}),
|
|
],
|
|
})
|