From 2c567dd96712a887b42cf4df3bdaa9f5f2b51a43 Mon Sep 17 00:00:00 2001 From: Bobby <30593201+luciferreeves@users.noreply.github.com> Date: Wed, 11 Feb 2026 12:48:01 +0530 Subject: Refactor homepage and error templates, add service worker and manifest for PWA support --- static/js/app.js | 23 +++++++++++++++++++++++ static/js/worker.js | 22 ++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 static/js/app.js create mode 100644 static/js/worker.js (limited to 'static/js') diff --git a/static/js/app.js b/static/js/app.js new file mode 100644 index 0000000..f1ec61e --- /dev/null +++ b/static/js/app.js @@ -0,0 +1,23 @@ +if ('serviceWorker' in navigator) { + window.addEventListener('load', () => { + navigator.serviceWorker.register('/worker.js') + .then(registration => { + console.log('ServiceWorker registered:', registration); + }) + .catch(error => { + console.log('ServiceWorker registration failed:', error); + }); + }); +} + +let deferredPrompt; +window.addEventListener('beforeinstallprompt', (e) => { + e.preventDefault(); + deferredPrompt = e; +}); + +document.body.addEventListener('htmx:afterSwap', (event) => { + event.detail.elt.querySelectorAll('.animate-slide-up').forEach((el, i) => { + el.style.animationDelay = `${i * 0.1}s`; + }); +}); \ No newline at end of file diff --git a/static/js/worker.js b/static/js/worker.js new file mode 100644 index 0000000..84d94df --- /dev/null +++ b/static/js/worker.js @@ -0,0 +1,22 @@ +const CACHE_NAME = 'cafe'; +const urlsToCache = [ + '/', + '/static/css/style.css', + '/static/js/htmx.min.js', + '/static/js/app.js', + '/static/manifest.json' +]; + +self.addEventListener('install', (event) => { + event.waitUntil( + caches.open(CACHE_NAME) + .then((cache) => cache.addAll(urlsToCache)) + ); +}); + +self.addEventListener('fetch', (event) => { + event.respondWith( + caches.match(event.request) + .then((response) => response || fetch(event.request)) + ); +}); \ No newline at end of file -- cgit v1.2.3