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.favoritedPlaces.enabled) view.favoritedPlaces();
23 if (values.placeRevenue.enabled) view.approxPlaceRevenue();
24 } else if (first === "create" && values.placeManagement.enabled) {
25 // Manage
26 if (config.devBuild) {
27 console.log("[Poly+] Running manage page functions: ", manage);
28 }
29
30 if (values.placeManagement.download) manage.placeFileExport();
31 }
32 });
33 },
34});