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 { getUserDetails } from "@/utils/utilities";
2import { preferences } from "@/utils/storage";
3import * as discovery from "./discovery";
4import * as view from "./view";
5
6export default defineContentScript({
7 matches: ['*://polytoria.com/store/*'],
8 main() {
9 preferences.getPreferences()
10 .then((values) => {
11 if (!window.location.pathname.split('/')[2]) {
12 // Discovery
13 if (values.irlBrickPrice.enabled) discovery.irlBrickPrice();
14
15 if (values.storeOwnedTags.enabled) {
16 getUserDetails()
17 .then((user) => {
18 if (!user) return;
19 discovery.ownedTags(user.userId);
20 });
21 }
22 } else {
23 // View
24 if (values.irlBrickPrice.enabled) view.irlBrickPrice();
25 };
26 });
27 }
28});