diff --git a/public/favicon.ico b/public/favicon.ico
new file mode 100644
index 0000000..26c6f48
Binary files /dev/null and b/public/favicon.ico differ
diff --git a/public/icons/apple-touch-icon.png b/public/icons/apple-touch-icon.png
new file mode 100644
index 0000000..a26d81f
Binary files /dev/null and b/public/icons/apple-touch-icon.png differ
diff --git a/public/icons/favicon-32.png b/public/icons/favicon-32.png
new file mode 100644
index 0000000..22c2853
Binary files /dev/null and b/public/icons/favicon-32.png differ
diff --git a/public/icons/icon-192.png b/public/icons/icon-192.png
new file mode 100644
index 0000000..01e8ae3
Binary files /dev/null and b/public/icons/icon-192.png differ
diff --git a/public/icons/icon-512.png b/public/icons/icon-512.png
new file mode 100644
index 0000000..99f8a4a
Binary files /dev/null and b/public/icons/icon-512.png differ
diff --git a/public/index.html b/public/index.html
index a3d2658..4e447d6 100644
--- a/public/index.html
+++ b/public/index.html
@@ -9,7 +9,9 @@
-
+
+
+
diff --git a/public/manifest.json b/public/manifest.json
index 5941b72..12e0eb7 100644
--- a/public/manifest.json
+++ b/public/manifest.json
@@ -20,6 +20,12 @@
"sizes": "512x512",
"type": "image/png",
"purpose": "any maskable"
+ },
+ {
+ "src": "/icons/apple-touch-icon.png",
+ "sizes": "180x180",
+ "type": "image/png",
+ "purpose": "any"
}
]
}
diff --git a/public/sw.js b/public/sw.js
index af1e41c..07e04ff 100644
--- a/public/sw.js
+++ b/public/sw.js
@@ -12,9 +12,9 @@
* API: Immer Netzwerk (kein Caching von Nutzerdaten)
*/
-const SHELL_CACHE = 'oikos-shell-v3';
-const PAGES_CACHE = 'oikos-pages-v3';
-const ASSETS_CACHE = 'oikos-assets-v3';
+const SHELL_CACHE = 'oikos-shell-v4';
+const PAGES_CACHE = 'oikos-pages-v4';
+const ASSETS_CACHE = 'oikos-assets-v4';
const ALL_CACHES = [SHELL_CACHE, PAGES_CACHE, ASSETS_CACHE];
// App-Shell: sofort benötigt für ersten Render
@@ -37,6 +37,9 @@ const APP_SHELL = [
'/styles/budget.css',
'/styles/settings.css',
'/manifest.json',
+ '/favicon.ico',
+ '/icons/favicon-32.png',
+ '/icons/apple-touch-icon.png',
];
// Seiten-Module: lazy geladen, aber vorab gecacht für Offline