feat(ui): FRO-36 PWA

Added Knockoutwhist with manifest + worker to be downloadable. Offline screen can be improved
This commit is contained in:
LQ63
2025-12-17 02:32:25 +01:00
parent ee8523d51a
commit 8dddf2eaf2
8 changed files with 4486 additions and 129 deletions

View File

@@ -1,18 +1,62 @@
import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { quasar, transformAssetUrls } from '@quasar/vite-plugin'
import vueJsx from '@vitejs/plugin-vue-jsx'
import vueDevTools from 'vite-plugin-vue-devtools'
import { quasar, transformAssetUrls } from '@quasar/vite-plugin'
import { VitePWA } from 'vite-plugin-pwa'
// https://vite.dev/config/
export default defineConfig({
plugins: [
vue({ template: { transformAssetUrls } }),
vue({
template: { transformAssetUrls }
}),
vueJsx(),
vueDevTools(),
quasar(),
VitePWA({
registerType: 'autoUpdate',
injectRegister: 'auto',
workbox: {
globDirectory: 'dist/',
globPatterns: [
'**/*.{js,css,html,ico,png,svg,webmanifest}',
],
globIgnores: [
'**/node_modules/**/*',
'sw.js',
],
swDest: 'dist/sw.js',
},
manifest: {
name: 'Knockout Whist PWA',
short_name: 'Whist PWA',
description: 'The Knockout Whist card game as a Progressive Web App.',
theme_color: '#4A4A4A',
background_color: '#ffffff',
display: 'standalone',
icons: [
{
src: 'logo192.png',
sizes: '192x192',
type: 'image/png'
},
{
src: 'logo512.png',
sizes: '512x512',
type: 'image/png'
}
]
},
devOptions: {
enabled: true,
type: 'module',
}
})
],
resolve: {
alias: {