pwa update
Build and Publish Docker Image / build-and-push-image (push) Successful in 55s

This commit is contained in:
Zed
2026-07-10 15:25:35 +02:00
parent 722b98c74c
commit 9ae37f98ed
10 changed files with 58 additions and 39 deletions
+33 -6
View File
@@ -8,15 +8,20 @@ export default defineConfig({
react(),
VitePWA({
registerType: "autoUpdate",
includeAssets: ["favicon.ico", "apple-touch-icon.png", "mask-icon.svg"],
includeAssets: ["favicon.ico", "apple-touch-icon.png"],
manifest: {
name: "Skori",
name: "Skori — Scores de jeux de société",
short_name: "Skori",
description:
"Application Web de gestion des scores pour jeux de société",
theme_color: "#ffffff",
background_color: "#ffffff",
lang: "fr",
start_url: "/",
scope: "/",
display: "standalone",
orientation: "portrait",
theme_color: "#0f766e",
background_color: "#ffffff",
categories: ["games", "utilities"],
icons: [
{
src: "pwa-192x192.png",
@@ -29,13 +34,35 @@ export default defineConfig({
type: "image/png",
},
{
src: "pwa-512x512.png",
src: "pwa-maskable-512x512.png",
sizes: "512x512",
type: "image/png",
purpose: "any maskable",
purpose: "maskable",
},
],
},
workbox: {
// Précache le shell de l'app + les logos/bannières (légers, en webp)
globPatterns: ["**/*.{js,css,html,ico,png,svg,webp,woff2}"],
// Les PDF de règles (jusqu'à 12 Mo) ne sont PAS précachés :
// ils sont mis en cache à la demande, à la première consultation.
runtimeCaching: [
{
urlPattern: /\/games-assets\/.*\.pdf$/,
handler: "CacheFirst",
options: {
cacheName: "rules-pdf",
expiration: {
maxEntries: 10,
maxAgeSeconds: 60 * 60 * 24 * 90, // 90 jours
},
cacheableResponse: { statuses: [0, 200] },
},
},
],
navigateFallback: "/index.html",
cleanupOutdatedCaches: true,
},
}),
],
resolve: {