import { getUserDetails } from "@/utils/utilities"; import { preferences } from "@/utils/storage"; import config from "@/utils/config.json"; import * as discovery from "./discovery"; import * as view from "./view"; import * as apiTypes from "@/utils/types"; export default defineContentScript({ matches: ["*://polytoria.com/store/*"], main() { preferences.getPreferences() .then((values) => { getUserDetails() .then((user) => { if (!user) { // Error page or event page most likely, where users are not authenticated console.warn("[Poly+] Failure to get logged in user details."); return; } if (!window.location.pathname.split("/")[2]) { // Discovery if (config.devBuild) { console.log( "[Poly+] Running discovery page functions: ", discovery, ); } if (values.enabled.includes("irlBrickPrice")) { discovery.irlBrickPrice(); } if (values.enabled.includes("storeOwnedTags")) { discovery.ownedTags(user.userId); } } else { // View if (config.devBuild) { console.log("[Poly+] Running view page functions: ", view); } if (values.enabled.includes("irlBrickPrice")) { view.irlBrickPrice(); } if (values.enabled.includes("tryItems")) { view.tryOn(user as apiTypes.userDetails); } if (values.enabled.includes("accurateOwners")) { view.accurateOwnerCount(); } } }); }); }, });