39 lines
1.0 KiB
TypeScript
39 lines
1.0 KiB
TypeScript
import { safeRun } from "../common/util.ts";
|
|
import { Client } from "./client.ts";
|
|
|
|
safeRun(async () => {
|
|
console.log("Booting SilverBullet...");
|
|
|
|
const client = new Client(
|
|
document.getElementById("sb-root")!,
|
|
);
|
|
await client.init();
|
|
window.client = client;
|
|
});
|
|
|
|
if (navigator.serviceWorker) {
|
|
navigator.serviceWorker
|
|
.register(new URL("/service_worker.js", location.href), {
|
|
type: "module",
|
|
})
|
|
.then(() => {
|
|
console.log("Service worker registered...");
|
|
});
|
|
navigator.serviceWorker.ready.then((registration) => {
|
|
registration.active!.postMessage({
|
|
type: "config",
|
|
config: window.silverBulletConfig,
|
|
});
|
|
});
|
|
} else {
|
|
console.warn(
|
|
"Not launching service worker, likely because not running from localhost or over HTTPs. This means SilverBullet will not be available offline.",
|
|
);
|
|
}
|
|
|
|
if (!globalThis.indexedDB) {
|
|
alert(
|
|
"SilverBullet requires IndexedDB to operate and it is not available in your browser. Please use a recent version of Chrome, Firefox (not in private mode) or Safari.",
|
|
);
|
|
}
|