From 91daba062f88811739c91bbf3d5185f3238de75d Mon Sep 17 00:00:00 2001 From: Till JS Date: Tue, 24 Mar 2026 19:22:16 +0100 Subject: [PATCH] fix(storage): add PWA icons and meta tags to fix build and enable install The prerendered /offline page referenced /favicon.png which didn't exist, causing Docker build failure. Added favicon.svg, generated all PWA icons, and added proper PWA meta tags to app.html. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../apps/web/scripts/generate-icons.mjs | 21 +++++++++++++++ apps/storage/apps/web/src/app.html | 21 ++++++++++++--- .../apps/web/static/apple-touch-icon.png | Bin 0 -> 4804 bytes apps/storage/apps/web/static/favicon.png | Bin 0 -> 959 bytes apps/storage/apps/web/static/favicon.svg | 25 ++++++++++++++++++ apps/storage/apps/web/static/pwa-192x192.png | Bin 0 -> 5050 bytes apps/storage/apps/web/static/pwa-512x512.png | Bin 0 -> 16124 bytes 7 files changed, 63 insertions(+), 4 deletions(-) create mode 100644 apps/storage/apps/web/scripts/generate-icons.mjs create mode 100644 apps/storage/apps/web/static/apple-touch-icon.png create mode 100644 apps/storage/apps/web/static/favicon.png create mode 100644 apps/storage/apps/web/static/favicon.svg create mode 100644 apps/storage/apps/web/static/pwa-192x192.png create mode 100644 apps/storage/apps/web/static/pwa-512x512.png diff --git a/apps/storage/apps/web/scripts/generate-icons.mjs b/apps/storage/apps/web/scripts/generate-icons.mjs new file mode 100644 index 000000000..a681ee265 --- /dev/null +++ b/apps/storage/apps/web/scripts/generate-icons.mjs @@ -0,0 +1,21 @@ +#!/usr/bin/env node +import { readFileSync } from 'fs'; +import { join, dirname } from 'path'; +import { fileURLToPath } from 'url'; +const __dirname = dirname(fileURLToPath(import.meta.url)); +const staticDir = join(__dirname, '..', 'static'); +const sizes = [ + { name: 'favicon.png', size: 32 }, + { name: 'pwa-192x192.png', size: 192 }, + { name: 'pwa-512x512.png', size: 512 }, + { name: 'apple-touch-icon.png', size: 180 }, +]; +async function generateIcons() { + const sharp = (await import('sharp')).default; + const svgBuffer = readFileSync(join(staticDir, 'favicon.svg')); + for (const { name, size } of sizes) { + await sharp(svgBuffer).resize(size, size).png().toFile(join(staticDir, name)); + console.log(`Generated: ${name} (${size}x${size})`); + } +} +generateIcons(); diff --git a/apps/storage/apps/web/src/app.html b/apps/storage/apps/web/src/app.html index 81cc103c3..46d92dd7e 100644 --- a/apps/storage/apps/web/src/app.html +++ b/apps/storage/apps/web/src/app.html @@ -2,10 +2,23 @@ - - - - + + + + + + + + + + + + + + + + + diff --git a/apps/storage/apps/web/static/apple-touch-icon.png b/apps/storage/apps/web/static/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b70bb49b7bb9367a767d90140f2fa0b6286ff98d GIT binary patch literal 4804 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 QEyZSj-0E17v2*1A0LvZ*-~a#s literal 0 HcmV?d00001 diff --git a/apps/storage/apps/web/static/favicon.png b/apps/storage/apps/web/static/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..73c97e2bd00a7c9c779b9d4da27f70d216e8d1f4 GIT binary patch literal 959 zcmV;w13>(VP)`4qylNUY%??i$`~wx4jQ2M4A5}V zW}skmciQHT4%$C8FZE3oXn+1FiN`5vZEZ2LUDB+o6tlqDa5)bE+Q-O)-pZM6J$ie~ z$Tv}bn~?*(nK8-fI3;}AH(P!y3wo20IYOkURrE;?sW&rCq*%4-hn)6iKzk;e#5Z~G zBntrIr<~q+$O8B$w*z>{w?@k7Ow|!cH4sSF9ct)ISlALSa602v1UM!FV-6alf`C@W zj&MOJr`OXgfOzD)6Ba`GrwHYqILz5(=MbD|AUNJYDDxPh%q&8a4i6cR5K1>V9V3QN zZU^v~_KrmDuW}9-d&@)VIyxeTP)@H+fOxI>F0G1SdKSU-BO5kqKJq$(4;)gh)DTQs z4pjsbRqPrp2<58*1RG9?nNU-8n`F(wf|_u+&!|F;Gfb#s6^AlZ%|;39LOH!U4&t@j zm1t#May3?lGN23P^vXDh*HPmE1ah|K$BpMWZam}b{WrN9ov{N5-AE??#W#Fva6U{!v&@C+Xom+|@6 zG7gz zyIqNt*6jAZNei>z7VvR#nWKMha@^nbuk+XwU6u0y{W+mrzL)^w0V8$j@$ZyV6j z#bo~}?;0v#`;D|vE?UGxcSlYL`3;f60y`*DV~PL(002ovPDHLkV1jX + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/storage/apps/web/static/pwa-192x192.png b/apps/storage/apps/web/static/pwa-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..4344ab973a21a6866749d3aa2fbbd38c546ff606 GIT binary patch literal 5050 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 literal 0 HcmV?d00001 diff --git a/apps/storage/apps/web/static/pwa-512x512.png b/apps/storage/apps/web/static/pwa-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..6c6db425525f05d6b5a0c90909a5dc6c6d0e80d5 GIT binary patch literal 16124 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