feat: PWA-Icons + Favicon — modernes SVG-basiertes Haus-Icon
Design: Geometrisches Haus-Motiv auf diagonal-blauem Gradient (#3B9FFF → #0A7AFF → #1847C8), Glasmorphismus-Schimmer, subtiler Drop-Shadow. Fenster und Tür als transparente Cutouts (Gradient scheint durch). Schornstein als architektonisches Detail. Erstellt mit SVG + librsvg. Dateien: - public/icons/icon-192.png (13 KB, maskable) - public/icons/icon-512.png (46 KB, maskable) - public/icons/apple-touch-icon.png (12 KB, 180×180) - public/icons/favicon-32.png (1.4 KB) - public/favicon.ico (5.4 KB, 16+32 multi-size) - public/index.html: apple-touch-icon + favicon-Links ergänzt - public/manifest.json: apple-touch-icon (180×180) im icons-Array - public/sw.js: Cache-Version auf v4 erhöht, neue Icons vorab gecacht Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 5.3 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.4 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 46 KiB |
+3
-1
@@ -9,7 +9,9 @@
|
|||||||
|
|
||||||
<!-- PWA -->
|
<!-- PWA -->
|
||||||
<link rel="manifest" href="/manifest.json" />
|
<link rel="manifest" href="/manifest.json" />
|
||||||
<link rel="apple-touch-icon" href="/icons/icon-192.png" />
|
<link rel="apple-touch-icon" href="/icons/apple-touch-icon.png" />
|
||||||
|
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/icons/favicon-32.png" />
|
||||||
|
|
||||||
<!-- DNS-Prefetch + Preconnect für externe Ressourcen -->
|
<!-- DNS-Prefetch + Preconnect für externe Ressourcen -->
|
||||||
<link rel="preconnect" href="https://unpkg.com" crossorigin />
|
<link rel="preconnect" href="https://unpkg.com" crossorigin />
|
||||||
|
|||||||
@@ -20,6 +20,12 @@
|
|||||||
"sizes": "512x512",
|
"sizes": "512x512",
|
||||||
"type": "image/png",
|
"type": "image/png",
|
||||||
"purpose": "any maskable"
|
"purpose": "any maskable"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "/icons/apple-touch-icon.png",
|
||||||
|
"sizes": "180x180",
|
||||||
|
"type": "image/png",
|
||||||
|
"purpose": "any"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-3
@@ -12,9 +12,9 @@
|
|||||||
* API: Immer Netzwerk (kein Caching von Nutzerdaten)
|
* API: Immer Netzwerk (kein Caching von Nutzerdaten)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const SHELL_CACHE = 'oikos-shell-v3';
|
const SHELL_CACHE = 'oikos-shell-v4';
|
||||||
const PAGES_CACHE = 'oikos-pages-v3';
|
const PAGES_CACHE = 'oikos-pages-v4';
|
||||||
const ASSETS_CACHE = 'oikos-assets-v3';
|
const ASSETS_CACHE = 'oikos-assets-v4';
|
||||||
const ALL_CACHES = [SHELL_CACHE, PAGES_CACHE, ASSETS_CACHE];
|
const ALL_CACHES = [SHELL_CACHE, PAGES_CACHE, ASSETS_CACHE];
|
||||||
|
|
||||||
// App-Shell: sofort benötigt für ersten Render
|
// App-Shell: sofort benötigt für ersten Render
|
||||||
@@ -37,6 +37,9 @@ const APP_SHELL = [
|
|||||||
'/styles/budget.css',
|
'/styles/budget.css',
|
||||||
'/styles/settings.css',
|
'/styles/settings.css',
|
||||||
'/manifest.json',
|
'/manifest.json',
|
||||||
|
'/favicon.ico',
|
||||||
|
'/icons/favicon-32.png',
|
||||||
|
'/icons/apple-touch-icon.png',
|
||||||
];
|
];
|
||||||
|
|
||||||
// Seiten-Module: lazy geladen, aber vorab gecacht für Offline
|
// Seiten-Module: lazy geladen, aber vorab gecacht für Offline
|
||||||
|
|||||||
Reference in New Issue
Block a user