2021-06-07 05:34:41 +00:00
|
|
|
import { precacheAndRoute, cleanupOutdatedCaches } from 'workbox-precaching';
|
2021-06-06 20:26:31 +00:00
|
|
|
import { registerRoute, setDefaultHandler } from 'workbox-routing';
|
2021-05-30 16:56:48 +00:00
|
|
|
import { NetworkOnly } from 'workbox-strategies';
|
|
|
|
import { pageCache, offlineFallback } from 'workbox-recipes';
|
2021-05-23 14:25:48 +00:00
|
|
|
|
|
|
|
pageCache();
|
|
|
|
|
2021-06-15 19:07:01 +00:00
|
|
|
precacheAndRoute(self.__WB_MANIFEST);
|
2021-06-07 05:34:41 +00:00
|
|
|
cleanupOutdatedCaches();
|
2021-05-23 14:25:48 +00:00
|
|
|
|
2021-08-13 02:38:38 +00:00
|
|
|
registerRoute(
|
|
|
|
'/share-target',
|
|
|
|
async ({ event }) => {
|
|
|
|
event.waitUntil(
|
|
|
|
(async function () {
|
|
|
|
const data = await event.request.formData();
|
|
|
|
const client = await self.clients.get(
|
|
|
|
event.resultingClientId || event.clientId
|
|
|
|
);
|
|
|
|
const files = data.getAll('files');
|
|
|
|
setTimeout(() => {
|
|
|
|
client.postMessage({ files, action: 'upload-files' });
|
|
|
|
}, 1000);
|
|
|
|
})()
|
|
|
|
);
|
|
|
|
return Response.redirect('./');
|
|
|
|
},
|
|
|
|
'POST'
|
|
|
|
);
|
2021-06-06 20:26:31 +00:00
|
|
|
|
2021-05-23 14:25:48 +00:00
|
|
|
// Use a stale-while-revalidate strategy for all other requests.
|
2021-05-29 22:02:06 +00:00
|
|
|
setDefaultHandler(new NetworkOnly());
|
2021-05-23 14:25:48 +00:00
|
|
|
|
|
|
|
offlineFallback();
|