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