Skip to content

Commit 72b05ca

Browse files
committed
refactor: create registerServiceWorker fn
1 parent 28b440a commit 72b05ca

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

src/browser/register.ts

+15-10
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,23 @@
1-
import { getOptions, normalize } from "../common/util"
2-
3-
const options = getOptions()
1+
import { getOptions, Options, normalize } from "../common/util"
42

53
import "./pages/error.css"
64
import "./pages/global.css"
75
import "./pages/login.css"
86

9-
if ("serviceWorker" in navigator) {
10-
const path = normalize(`${options.csStaticBase}/dist/serviceWorker.js`)
11-
navigator.serviceWorker
12-
.register(path, {
7+
export async function registerServiceWorker(navigator: Navigator, path: string, options: Options): Promise<void> {
8+
try {
9+
await navigator.serviceWorker.register(path, {
1310
scope: (options.base ?? "") + "/",
1411
})
15-
.then(() => {
16-
console.log("[Service Worker] registered")
17-
})
12+
console.log("[Service Worker] registered")
13+
} catch (error) {
14+
console.error(`[Service Worker] failed to register: ${error.message}`)
15+
}
16+
}
17+
18+
if (typeof navigator !== "undefined" && "serviceWorker" in navigator) {
19+
const options = getOptions()
20+
const path = normalize(`${options.csStaticBase}/dist/serviceWorker.js`)
21+
registerServiceWorker(navigator, path, options)
22+
}
1823
}

0 commit comments

Comments
 (0)