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"; 3 4import * as discovery from "./discovery"; 5import * as view from "./view"; 6 7export default defineContentScript({ 8 matches: ['*://polytoria.com/store/*'], 9 main() { 10 preferences.getPreferences() 11 .then((values) => { 12 getUserDetails() 13 .then((user) => { 14 if (!user) { 15 // Error page or event page most likely, where users are not authenticated 16 console.warn('[Poly+] Failure to get logged in user details.'); 17 return; 18 }; 19 20 if (!window.location.pathname.split('/')[2]) { 21 // Discovery 22 if (values.irlBrickPrice.enabled) discovery.irlBrickPrice(); 23 if (values.storeOwnedTags.enabled) discovery.ownedTags(user.userId); 24 } else { 25 // View 26 if (values.irlBrickPrice.enabled) view.irlBrickPrice(); 27 if (values.tryItems.enabled) view.tryOn(user); 28 }; 29 }) 30 }); 31 } 32});