diff --git a/packages/web/index.html b/packages/web/index.html index 1b5e0ec1..eeadb24c 100644 --- a/packages/web/index.html +++ b/packages/web/index.html @@ -34,41 +34,15 @@ "theme_color": "#edb449", "orientation": "portrait-primary", "icons": [ - { - "src": baseUrl + "/logo-dark-512x512.svg", - "sizes": "512x512", - "type": "image/svg+xml", - "purpose": "any" - }, - { - "src": baseUrl + "/logo-dark-192x192.png", - "sizes": "192x192", - "type": "image/png", - "purpose": "any" - }, - { - "src": baseUrl + "/apple-touch-icon-180x180.png", - "sizes": "180x180", - "type": "image/png", - "purpose": "any" - }, - { - "src": baseUrl + "/apple-touch-icon-152x152.png", - "sizes": "152x152", - "type": "image/png", - "purpose": "any" - }, - { - "src": baseUrl + "/favicon-32.png", - "sizes": "32x32", - "type": "image/png" - }, - { - "src": baseUrl + "/favicon-16.png", - "sizes": "16x16", - "type": "image/png" - } - ], + { "src": baseUrl + "/pwa-192.png", "sizes": "192x192", "type": "image/png", "purpose": "any" }, + { "src": baseUrl + "/pwa-512.png", "sizes": "512x512", "type": "image/png", "purpose": "any" }, + { "src": baseUrl + "/pwa-maskable-192.png", "sizes": "192x192", "type": "image/png", "purpose": "any maskable" }, + { "src": baseUrl + "/pwa-maskable-512.png", "sizes": "512x512", "type": "image/png", "purpose": "any maskable" }, + { "src": baseUrl + "/apple-touch-icon-180x180.png", "sizes": "180x180", "type": "image/png", "purpose": "any" }, + { "src": baseUrl + "/apple-touch-icon-152x152.png", "sizes": "152x152", "type": "image/png", "purpose": "any" }, + { "src": baseUrl + "/favicon-32.png", "sizes": "32x32", "type": "image/png" }, + { "src": baseUrl + "/favicon-16.png", "sizes": "16x16", "type": "image/png" } + ], "categories": ["developer", "tools", "productivity"], "lang": "en" }; diff --git a/packages/web/public/pwa-192.png b/packages/web/public/pwa-192.png new file mode 100644 index 00000000..637d5959 Binary files /dev/null and b/packages/web/public/pwa-192.png differ diff --git a/packages/web/public/pwa-512.png b/packages/web/public/pwa-512.png new file mode 100644 index 00000000..37987478 Binary files /dev/null and b/packages/web/public/pwa-512.png differ diff --git a/packages/web/public/pwa-maskable-192.png b/packages/web/public/pwa-maskable-192.png new file mode 100644 index 00000000..9cf04f46 Binary files /dev/null and b/packages/web/public/pwa-maskable-192.png differ diff --git a/packages/web/public/pwa-maskable-512.png b/packages/web/public/pwa-maskable-512.png new file mode 100644 index 00000000..b4268535 Binary files /dev/null and b/packages/web/public/pwa-maskable-512.png differ diff --git a/packages/web/public/site.webmanifest b/packages/web/public/site.webmanifest index fd991fdd..cdf312cf 100644 --- a/packages/web/public/site.webmanifest +++ b/packages/web/public/site.webmanifest @@ -8,40 +8,14 @@ "theme_color": "#edb449", "orientation": "portrait-primary", "icons": [ - { - "src": "/logo-dark-512x512.svg", - "sizes": "512x512", - "type": "image/svg+xml", - "purpose": "any" - }, - { - "src": "/logo-dark-192x192.png", - "sizes": "192x192", - "type": "image/png", - "purpose": "any" - }, - { - "src": "/apple-touch-icon-180x180.png", - "sizes": "180x180", - "type": "image/png", - "purpose": "any" - }, - { - "src": "/apple-touch-icon-152x152.png", - "sizes": "152x152", - "type": "image/png", - "purpose": "any" - }, - { - "src": "/favicon-32.png", - "sizes": "32x32", - "type": "image/png" - }, - { - "src": "/favicon-16.png", - "sizes": "16x16", - "type": "image/png" - } + { "src": "/pwa-192.png", "sizes": "192x192", "type": "image/png", "purpose": "any" }, + { "src": "/pwa-512.png", "sizes": "512x512", "type": "image/png", "purpose": "any" }, + { "src": "/pwa-maskable-192.png", "sizes": "192x192", "type": "image/png", "purpose": "any maskable" }, + { "src": "/pwa-maskable-512.png", "sizes": "512x512", "type": "image/png", "purpose": "any maskable" }, + { "src": "/apple-touch-icon-180x180.png", "sizes": "180x180", "type": "image/png", "purpose": "any" }, + { "src": "/apple-touch-icon-152x152.png", "sizes": "152x152", "type": "image/png", "purpose": "any" }, + { "src": "/favicon-32.png", "sizes": "32x32", "type": "image/png" }, + { "src": "/favicon-16.png", "sizes": "16x16", "type": "image/png" } ], "categories": ["developer", "tools", "productivity"], "lang": "en" diff --git a/packages/web/server/index.js b/packages/web/server/index.js index e787155d..333bf140 100644 --- a/packages/web/server/index.js +++ b/packages/web/server/index.js @@ -9229,6 +9229,11 @@ Context: }, })); + // Alias for PWA manifest (.webmanifest redirect → /site.webmanifest) + app.get('/manifest.webmanifest', (req, res) => { + res.redirect(301, '/site.webmanifest'); + }); + app.get(/^(?!\/api|.*\.(js|css|svg|png|jpg|jpeg|gif|ico|woff|woff2|ttf|eot|map)).*$/, (req, res) => { res.sendFile(path.join(distPath, 'index.html')); });