forked from vikunja/frontend
Jef Oliver
e92559dc00
* If a base path is provided at build time, use it. * Base path can be set with `VIKUNJA_FRONTEND_BASE` at build time * `VIKUNJA_FRONTEND_BASE` sets `import.meta.env.BASE_URL` after Vite resolves it. * Usages of `import.meta.env.BASE_URL` are statically replaced at build time. * If base path is not provided, `import.meta.env.BASE_URL` defaults to '/'. * Documentation: https://vitejs.dev/guide/env-and-mode.html * Fixes: * Manifest not loading because of incorrect path. * Service Worker not loading because path is incorrect in manifest. * Service Worker crashing because import of workbox is from wrong path. * Service Worker not loading a task because path is incorrect in event listener. * Incorrect URLs being set on window because base path is incorrect. * ex: `/login` vs `/base/login` Signed-off-by: Jef Oliver <jef@eljef.me>
36 lines
936 B
TypeScript
36 lines
936 B
TypeScript
/* eslint-disable no-console */
|
|
|
|
import {register} from 'register-service-worker'
|
|
|
|
import {getFullBaseUrl} from './helpers/getFullBaseUrl'
|
|
|
|
if (import.meta.env.PROD) {
|
|
register(getFullBaseUrl() + 'sw.js', {
|
|
ready() {
|
|
console.log('App is being served from cache by a service worker.')
|
|
},
|
|
registered() {
|
|
console.log('Service worker has been registered.')
|
|
},
|
|
cached() {
|
|
console.log('Content has been cached for offline use.')
|
|
},
|
|
updatefound() {
|
|
console.log('New content is downloading.')
|
|
},
|
|
updated(registration) {
|
|
console.log('New content is available; please refresh.')
|
|
// Send an event with the updated info
|
|
document.dispatchEvent(
|
|
new CustomEvent('swUpdated', {detail: registration}),
|
|
)
|
|
},
|
|
offline() {
|
|
console.log('No internet connection found. App is running in offline mode.')
|
|
},
|
|
error(error) {
|
|
console.error('Error during service worker registration:', error)
|
|
},
|
|
})
|
|
}
|