More changes than expected. Mobile version improvements & PWA
Build & Push Docker Images / test-backend (push) Successful in 44s
Build & Push Docker Images / test-frontend (push) Successful in 52s
Build & Push Docker Images / build-backend (push) Failing after 34s
Build & Push Docker Images / build-frontend (push) Failing after 30s
Build & Push Docker Images / test-backend (push) Successful in 44s
Build & Push Docker Images / test-frontend (push) Successful in 52s
Build & Push Docker Images / build-backend (push) Failing after 34s
Build & Push Docker Images / build-frontend (push) Failing after 30s
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
/// <reference lib="webworker" />
|
||||
import { precacheAndRoute, cleanupOutdatedCaches } from 'workbox-precaching';
|
||||
import { clientsClaim } from 'workbox-core';
|
||||
|
||||
cleanupOutdatedCaches();
|
||||
precacheAndRoute(self.__WB_MANIFEST || []);
|
||||
|
||||
self.skipWaiting();
|
||||
clientsClaim();
|
||||
|
||||
self.addEventListener('push', (event) => {
|
||||
let data = {};
|
||||
if (event.data) {
|
||||
try {
|
||||
data = event.data.json();
|
||||
} catch {
|
||||
data = { title: 'FarmaFinder', body: event.data.text() };
|
||||
}
|
||||
}
|
||||
const title = data.title || 'FarmaFinder';
|
||||
const options = {
|
||||
body: data.body || '',
|
||||
icon: '/icon.svg',
|
||||
badge: '/icon.svg',
|
||||
data: { url: data.url || '/' },
|
||||
tag: data.medicine_nregistro || undefined,
|
||||
renotify: Boolean(data.medicine_nregistro),
|
||||
};
|
||||
event.waitUntil(self.registration.showNotification(title, options));
|
||||
});
|
||||
|
||||
self.addEventListener('notificationclick', (event) => {
|
||||
event.notification.close();
|
||||
const targetUrl = event.notification.data?.url || '/';
|
||||
event.waitUntil(
|
||||
self.clients.matchAll({ type: 'window', includeUncontrolled: true }).then((clientList) => {
|
||||
for (const client of clientList) {
|
||||
if ('focus' in client) {
|
||||
client.focus();
|
||||
if ('navigate' in client) client.navigate(targetUrl);
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (self.clients.openWindow) return self.clients.openWindow(targetUrl);
|
||||
})
|
||||
);
|
||||
});
|
||||
Reference in New Issue
Block a user