Update web app icons and manifest for PWA (#357)

* chore: add PWA icons

Add PWA icons in public assets at 192px and 512px
Include maskable variants to improve home screen installation

* feat: update webmanifest icons for PWA

Add new PWA icons and maskable variants to the manifest
Include Apple touch icons and standard favicons for broader support
Migrate to maskable icons for better home screen availability

* feat: update PWA icons and manifest assets

Update web icons to include new PWA icons (192x192, 512x512) and maskable variants
Add Apple touch icons and standard favicons to manifest for better platform support

* fix(web): redirect manifest.webmanifest to site.webmanifest

Add 301 redirect for /manifest.webmanifest to /site.webmanifest
Ensure SPA fallback serves index.html for non-asset routes
This commit is contained in:
Nelson Pires
2026-02-08 17:18:45 +02:00
committed by GitHub
parent 1e012d37b4
commit 3a3604881e
7 changed files with 22 additions and 69 deletions
+9 -35
View File
@@ -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"
};
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

+8 -34
View File
@@ -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"
+5
View File
@@ -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'));
});