From 6f199d97432d5080c46b535fd29733ad83c5aa43 Mon Sep 17 00:00:00 2001 From: DevSoftTech Server Date: Fri, 28 Aug 2026 17:49:31 +0530 Subject: [PATCH] feat(pwa): launch Option A mobile-optimized Nursing Care PWA app at /app/nursing --- public/App/Nursing/index.html | 509 +++++++++++++++++++++++++++++++ public/App/Nursing/manifest.json | 16 + public/App/Nursing/sw.js | 21 ++ 3 files changed, 546 insertions(+) create mode 100644 public/App/Nursing/index.html create mode 100644 public/App/Nursing/manifest.json create mode 100644 public/App/Nursing/sw.js diff --git a/public/App/Nursing/index.html b/public/App/Nursing/index.html new file mode 100644 index 0000000..6a1ed6a --- /dev/null +++ b/public/App/Nursing/index.html @@ -0,0 +1,509 @@ + + + + + + Nursing Care PWA App + + + + + + + + + + + + + + + + + + +
+ + + + diff --git a/public/App/Nursing/manifest.json b/public/App/Nursing/manifest.json new file mode 100644 index 0000000..e9b4067 --- /dev/null +++ b/public/App/Nursing/manifest.json @@ -0,0 +1,16 @@ +{ + "short_name": "Nursing Care", + "name": "E-Atria IPD Bedside Nursing Care PWA", + "icons": [ + { + "src": "https://cdn-icons-png.flaticon.com/512/3304/3304567.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": "/app/nursing", + "background_color": "#0f172a", + "theme_color": "#2563eb", + "display": "standalone", + "orientation": "portrait" +} diff --git a/public/App/Nursing/sw.js b/public/App/Nursing/sw.js new file mode 100644 index 0000000..f80e0bf --- /dev/null +++ b/public/App/Nursing/sw.js @@ -0,0 +1,21 @@ +const CACHE_NAME = 'nursing-pwa-v1'; +const ASSETS_TO_CACHE = [ + '/app/nursing', + 'https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css', + 'https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css' +]; + +self.addEventListener('install', (event) => { + event.waitUntil( + caches.open(CACHE_NAME).then((cache) => { + return cache.addAll(ASSETS_TO_CACHE); + }) + ); +}); + +self.addEventListener('fetch', (event) => { + if (event.request.method !== 'GET') return; + event.respondWith( + fetch(event.request).catch(() => caches.match(event.request)) + ); +});