schoolbox web extension :)
1import { definePlugin } from "@/utils/plugin";
2
3export default function init() {
4 definePlugin(
5 "tabTitle",
6 async (settings) => {
7 const path = window.location.pathname;
8 const titleMap: { [key: string]: string } = {
9 "/": "Homepage",
10 "/calendar": "Calendar",
11 "/news": "News",
12 "/learning/classes": "Classes",
13 "/resources": "Resources",
14 "/groups": "Groups",
15 "/settings/notifications": "Notifications Settings",
16 "/mail/create": "Compose Email",
17 "/feedback": "Support and Feedback",
18 "/policy": "Guidelines of Use and Privacy Policy",
19 };
20
21 if (titleMap[path]) {
22 document.title = titleMap[path];
23 } else if (path.includes("/timetable")) {
24 document.title = "Timetable";
25 } else if (path.includes("/calendar")) {
26 document.title = "Calendar";
27 } else if (path.includes("/grades/")) {
28 document.title = "Grades";
29 } else if (path.includes("/news/")) {
30 document.title = `News (${document.getElementsByTagName("h1")[0].innerText})`;
31 } else if (path.includes("/assessments/")) {
32 document.title = `Assessments - ${document.getElementsByTagName("h1")[0].innerText})`;
33 } else if (path.includes("/mail/create")) {
34 document.title = "Compose Email";
35 } else if (path.includes("/search/user")) {
36 document.title = `Profile - ${document.getElementsByTagName("h1")[0].innerText}`;
37 } else if (path.includes("/learning/due/")) {
38 document.title = "Due Work";
39 } else if (path.includes("/homepage/")) {
40 if (settings?.toggle.showSubjectPrefix === false) {
41 document.title = document.getElementsByTagName("h1")[0].innerText.replace(/^.*- /, "");
42 } else {
43 document.title = document.getElementsByTagName("h1")[0].innerText;
44 }
45 }
46 },
47 ["h1"],
48 );
49}