schoolbox web extension :)
1import { defineContentScript } from "#imports";
2import { EXCLUDE_MATCHES } from "@/utils/constants";
3import type { Plugin } from "@/utils/plugin";
4
5import homepageSwitcher from "./plugins/homepageSwitcher";
6import modernIcons from "./plugins/modernIcons";
7import progressBar from "./plugins/progressBar";
8import scrollPeriod from "./plugins/scrollPeriod";
9import scrollSegments from "./plugins/scrollSegments";
10import subheader from "./plugins/subheader";
11import tabTitle from "./plugins/tabTitle";
12
13export const plugins: Plugin<any>[] = [
14 subheader,
15 scrollSegments,
16 scrollPeriod,
17 progressBar,
18 modernIcons,
19 tabTitle,
20 homepageSwitcher,
21];
22
23export default defineContentScript({
24 matches: ["<all_urls>"],
25 runAt: "document_start",
26 excludeMatches: EXCLUDE_MATCHES,
27 async main() {
28 document.addEventListener("DOMContentLoaded", () => {
29 for (const plugin of plugins) {
30 plugin.init();
31 }
32 });
33 },
34});