diff --git a/src/modules/StatsUpdater.ts b/src/modules/StatsUpdater.ts index 4c9dd79..464fa66 100644 --- a/src/modules/StatsUpdater.ts +++ b/src/modules/StatsUpdater.ts @@ -1,4 +1,3 @@ -import browser from "webextension-polyfill" import { GameMode, Settings, @@ -229,12 +228,13 @@ export class StatsUpdater { * Attach settings update listener. */ private attachSettingsUpdateListener(): void { - browser.runtime.onMessage.addListener(async (message) => { - const request = message as { action: string } - - if (request.action !== "updated-settings") return - this.updateStatsForBothPlayers(true) - this.updateTitleForBothPlayers() + import("webextension-polyfill").then((browser) => { + browser.runtime.onMessage.addListener(async (message) => { + const request = message as { action: string } + if (request.action !== "updated-settings") return + this.updateStatsForBothPlayers(true) + this.updateTitleForBothPlayers() + }) }) } diff --git a/src/modules/StatsUpdaterFactory.ts b/src/modules/StatsUpdaterFactory.ts index 100c225..81be51a 100644 --- a/src/modules/StatsUpdaterFactory.ts +++ b/src/modules/StatsUpdaterFactory.ts @@ -5,7 +5,6 @@ import { SettingsManager } from "./SettingsManager" import { APIHandler } from "./APIHandler" import { UiUpdater } from "./UiUpdater" import { UrlObserver } from "./UrlObserver" -import { BrowserSettingsStorage } from "./BrowserSettingsStorage" import { StatsUpdater } from "./StatsUpdater" import { StatsCalculator } from "./StatsCalculator" import { BrowserUiWindow } from "./BrowserUiWindow" @@ -28,7 +27,7 @@ export class StatsUpdaterFactory { * @returns {StatsUpdater} A new StatsUpdater instance. */ static createStatsUpdater( - storageManager: SettingsStorage = new BrowserSettingsStorage(), + storageManager: SettingsStorage, uiWindow: UiWindow = new BrowserUiWindow() ): StatsUpdater { return new StatsUpdater({ diff --git a/src/scripts/insights.ts b/src/scripts/insights.ts index 35e3c29..ed69fba 100644 --- a/src/scripts/insights.ts +++ b/src/scripts/insights.ts @@ -5,6 +5,7 @@ import { version, repository } from "../../package.json" import { StatsUpdaterFactory } from "../modules/StatsUpdaterFactory" +import { BrowserSettingsStorage } from "../modules/BrowserSettingsStorage" console.log(`⚡ Chess.com Insights v${version} injected`) console.log(`🚀 View source code at ${repository.url}`) @@ -12,4 +13,6 @@ console.log(`🚀 View source code at ${repository.url}`) /** * Initialize the stats updater and start updating stats. */ -StatsUpdaterFactory.createStatsUpdater().initialize() +StatsUpdaterFactory.createStatsUpdater( + new BrowserSettingsStorage() +).initialize()