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

feat: improve accuracy of IRL brick price

Index 067ea5eb 63066744

Changed files
+4 -3
entrypoints
utils
+2 -1
entrypoints/sitewide.content.ts
···
getUserDetails()
.then((user) => {
if (!user) return; // Error page or event page most likely, where users are not authenticated
const currency = bricksToCurrency(user.bricks, "USD");
-
console.log('wow u have: ', currency);
});
}
});
···
getUserDetails()
.then((user) => {
if (!user) return; // Error page or event page most likely, where users are not authenticated
+
const currency = bricksToCurrency(user.bricks, "USD");
+
if (currency) document.getElementsByClassName('brickBalanceCount')[0].textContent += ` (${currency})`
});
}
});
+2 -2
utils/utilities.ts
···
export async function getUserDetails() {
const profileLink: HTMLLinkElement = document.querySelector('.navbar a.text-reset[href^="/users/"]')!;
-
const brickBalance = document.getElementsByClassName('brickBalanceCont')[0];
if (!profileLink || !brickBalance) return null;
return {
···
export function bricksToCurrency(bricks: number, currency: string): string | null {
const _currencyPackages = currencyPackages as Record<string, Array<Array<number>>>;
-
const packages = _currencyPackages[currency];
if (!packages) {
console.warn('[Poly+] Missing currency package data for selected currency!');
···
export async function getUserDetails() {
const profileLink: HTMLLinkElement = document.querySelector('.navbar a.text-reset[href^="/users/"]')!;
+
const brickBalance = document.getElementsByClassName('brickBalanceCount')[0];
if (!profileLink || !brickBalance) return null;
return {
···
export function bricksToCurrency(bricks: number, currency: string): string | null {
const _currencyPackages = currencyPackages as Record<string, Array<Array<number>>>;
+
const packages = _currencyPackages[currency].toSorted((a, b) => b[1] - a[1]);
if (!packages) {
console.warn('[Poly+] Missing currency package data for selected currency!');