be7ea8f3f7
This also refactors a couple CSS stylesheets to be referenced directly in the HTML files. And it removes any CSS imports from src/browser files.
24 lines
709 B
TypeScript
24 lines
709 B
TypeScript
import { logger } from "@coder/logger"
|
|
import { getOptions, normalize, logError } from "../common/util"
|
|
|
|
export async function registerServiceWorker(): Promise<void> {
|
|
const options = getOptions()
|
|
logger.level = options.logLevel
|
|
|
|
const path = normalize(`${options.csStaticBase}/dist/serviceWorker.js`)
|
|
try {
|
|
await navigator.serviceWorker.register(path, {
|
|
scope: options.base + "/",
|
|
})
|
|
logger.info(`[Service Worker] registered`)
|
|
} catch (error) {
|
|
logError(logger, `[Service Worker] registration`, error)
|
|
}
|
|
}
|
|
|
|
if (typeof navigator !== "undefined" && "serviceWorker" in navigator) {
|
|
registerServiceWorker()
|
|
} else {
|
|
logger.error(`[Service Worker] navigator is undefined`)
|
|
}
|