Files
BetterSEQTA-Plus/src/seqta/main.ts
T
2026-07-19 18:08:52 +09:30

42 lines
1.3 KiB
TypeScript

// Third-party libraries
import browser from "webextension-polyfill";
// Internal utilities and functions
import { settingsState } from "@/seqta/utils/listeners/SettingsState";
// UI and theme management
import pageState from "@/pageState.js?script&iife";
import { extensionPageScriptUrl } from "@/lib/extensionPageScriptUrl";
// Stylesheets
import injectedCSS from "@/css/injected.scss?inline";
export async function main() {
return new Promise(async (resolve, reject) => {
try {
if (settingsState.onoff) {
injectPageState();
// Rather permanent FIX for bug! -> this is a hack to get the injected.css file to have HMR in development mode as this import system is currently broken with crxjs
if (import.meta.env.MODE === "development") {
import("@/css/injected.scss");
} else {
const injectedStyle = document.createElement("style");
injectedStyle.textContent = injectedCSS;
document.head.appendChild(injectedStyle);
}
}
resolve(true);
} catch (error: any) {
console.error(error);
reject(error);
}
});
}
function injectPageState() {
const mainScript = document.createElement("script");
mainScript.src = extensionPageScriptUrl(pageState);
document.head.appendChild(mainScript);
}