A rewrite of Poly+, my quality-of-life browser extension for Polytoria. Built entirely fresh using the WXT extension framework, Typescript, and with added better overall code quality.
extension
1import { preferences } from "@/utils/storage";
2import config from "@/utils/config.json";
3import * as view from "./view";
4import * as manage from "./manage";
5
6export default defineContentScript({
7 matches: [
8 "*://polytoria.com/places/*",
9 "*://polytoria.com/create/place/*",
10 ],
11 main() {
12 preferences.getPreferences()
13 .then((values) => {
14 const [_, first, second] = window.location.pathname.split("/");
15
16 if (!isNaN(Number(second))) {
17 // View
18 if (config.devBuild) {
19 console.log("[Poly+] Running view page functions: ", view);
20 }
21
22 if (values.enabled.includes("favoritedPlaces")) {
23 view.favoritedPlaces();
24 }
25 if (values.enabled.includes("placeRevenue")) {
26 view.approxPlaceRevenue();
27 }
28 } else if (
29 first === "create" && values.enabled.includes("placeManagement")
30 ) {
31 // Manage
32 if (config.devBuild) {
33 console.log("[Poly+] Running manage page functions: ", manage);
34 }
35
36 if (values.config.placeManagement.download) manage.placeFileExport();
37 }
38 });
39 },
40});