Files
BetterSEQTA-Plus/src/seqta/main.ts
T
2025-08-17 11:27:23 +10:00

41 lines
1.2 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?url";
// 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 = browser.runtime.getURL(pageState);
document.head.appendChild(mainScript);
}