import util from "./util" import {AdapterState, AdapterData} from "./adapter"; import {Message, Attachment, Author} from "./message" import {Settings} from "./settings" import { TabBarElement } from "./tabbar-element" import { MessageElement } from "./message-element" import { SettingsElement } from "./settings-element" import { AdapterElement } from "./adapter-element" import { ThreadSummaryElement } from "./thread-summary-element" function main() { const saveData = localStorage.getItem("settings"); Settings._instance = saveData ? JSON.parse(saveData) : new Settings(); customElements.define("underbbs-tabbar", TabBarElement); customElements.define("underbbs-message", MessageElement); customElements.define("underbbs-settings", SettingsElement); customElements.define("underbbs-adapter", AdapterElement); customElements.define("underbbs-thread-summary", ThreadSummaryElement); util._("closeErr", util.closeErr); tabbarInit(Settings._instance.adapters?.map(a=>a.nickname) ?? []); registerServiceWorker(); } function tabbarInit(adapters: string[]) { const nav = util.$("tabbar_injectparent"); if (nav) { nav.innerHTML = ``; } } async function registerServiceWorker() { if ("serviceWorker" in navigator) { try { const registration = await navigator.serviceWorker.register("/serviceWorker.js", { scope: "/", }); if (registration.installing) { console.log("Service worker installing"); } else if (registration.waiting) { console.log("Service worker installed"); } else if (registration.active) { console.log("Service worker active"); } } catch (error) { console.error(`Registration failed with ${error}`); } const registration = await navigator.serviceWorker.ready; (registration as any).sync.register("testdata").then((r:any)=>{console.log("but i will see this!")}); } } main();