From 5823cedb94be368e3a0635bab03f3da738f3ae30 Mon Sep 17 00:00:00 2001 From: Marius Mutu Date: Wed, 10 Dec 2025 13:22:07 +0200 Subject: [PATCH] feat: Add PWA support for mobile app-like experience MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add manifest.json, meta tags and app icons to enable: - Add to Home Screen on iOS/Android - Standalone mode (no browser UI) - Custom app icon (ROA) and theme color 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- reports-app/frontend/.gitignore | 3 ++- reports-app/frontend/public/icon-192.png | Bin 0 -> 3934 bytes reports-app/frontend/public/icon-512.png | Bin 0 -> 11227 bytes 3 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 reports-app/frontend/public/icon-192.png create mode 100644 reports-app/frontend/public/icon-512.png diff --git a/reports-app/frontend/.gitignore b/reports-app/frontend/.gitignore index 081446e..edc8850 100644 --- a/reports-app/frontend/.gitignore +++ b/reports-app/frontend/.gitignore @@ -37,8 +37,9 @@ lerna-debug.log* /blob-report/ /playwright/.cache/ -# Test artifacts and debugging files +# Test artifacts and debugging files (exclude PWA icons) *.png +!public/icon-*.png *.jpg *.jpeg *.webm diff --git a/reports-app/frontend/public/icon-192.png b/reports-app/frontend/public/icon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..df2cbda69a71ec6195317ea6ae9a24698268fea6 GIT binary patch literal 3934 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 EKh3T@6#xJL literal 0 HcmV?d00001