From 0939983ddfb3d126277d4d9a242639b85548f2d9 Mon Sep 17 00:00:00 2001 From: Hasn <55940669+prhasn@users.noreply.github.com> Date: Mon, 15 Jun 2026 14:00:13 +0700 Subject: [PATCH] pwa missing icons added (#428) --- .gitignore | 3 +++ static/icons/icon-192.png | Bin 0 -> 2879 bytes static/icons/icon-512.png | Bin 0 -> 9404 bytes static/icons/icon-maskable-512.png | Bin 0 -> 7606 bytes static/index.html | 2 +- static/login.html | 3 +++ static/manifest.json | 5 +++-- 7 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 static/icons/icon-192.png create mode 100644 static/icons/icon-512.png create mode 100644 static/icons/icon-maskable-512.png diff --git a/.gitignore b/.gitignore index 4250856d0..77c364b8f 100644 --- a/.gitignore +++ b/.gitignore @@ -70,6 +70,9 @@ output.txt.txt *.tiff *.pdf +# …except shipped static assets +!static/icons/*.png + # …except shipped demo assets in docs/ that the README links to. !docs/*.jpg !docs/*.jpeg diff --git a/static/icons/icon-192.png b/static/icons/icon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..d4111ba0f3779422e5688465ec5b7998fe413b31 GIT binary patch literal 2879 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 literal 0 HcmV?d00001 diff --git a/static/icons/icon-maskable-512.png b/static/icons/icon-maskable-512.png new file mode 100644 index 0000000000000000000000000000000000000000..5d9d98a00e0acc649cf75941a0db187978f594f4 GIT binary patch literal 7606 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 with browser-default styling that didn't match the Odysseus theme. --> - +