Add "Place Achievements Progress Bar" Feature
This commit is contained in:
parent
066babda56
commit
a8cf983e26
4 changed files with 35 additions and 7 deletions
|
|
@ -4,7 +4,7 @@
|
|||
> [!IMPORTANT]
|
||||
> This extension is currently in BETA. If you find any bugs, please report them in this repository's issues section as it'd be a great help towards development of the extension.
|
||||
|
||||
> [!ROADMAP]
|
||||
> [!TIP]
|
||||
> Want to learn what's in store for Poly+? Check out the roadmap [here](https://github.com/users/indexxing/projects/2)!
|
||||
|
||||
# Poly+
|
||||
|
|
|
|||
|
|
@ -230,7 +230,7 @@ async function OutfitCost() {
|
|||
const ResultText = document.createElement('small')
|
||||
ResultText.classList = 'fw-normal text-success'
|
||||
ResultText.style.letterSpacing = '0px'
|
||||
ResultText.innerHTML = `(<i class="pi pi-brick mx-1"></i> ${ (AvatarCost.Limiteds > 0 || AvatarCost.Exclusives > 0) ? '~' : '' } ${ AvatarCost.Total.toLocaleString() }${ (AvatarCost.Limiteds > 0) ? `, ${AvatarCost.Limiteds} limiteds` : '' }${ (AvatarCost.Exclusives > 0) ? `, ${AvatarCost.Exclusives} exclusives` : '' })`
|
||||
ResultText.innerHTML = `(<i class="pi pi-brick mx-1"></i> ${ (AvatarCost.Limiteds > 0 || AvatarCost.Exclusives > 0) ? '~' : '' }${ AvatarCost.Total.toLocaleString() }${ (AvatarCost.Limiteds > 0) ? `, ${AvatarCost.Limiteds} limited` : '' }${ (AvatarCost.Exclusives > 0) ? `, ${AvatarCost.Exclusives} exclusive` : '' })`
|
||||
|
||||
CalculateButton.remove()
|
||||
AvatarHeading.appendChild(ResultText)
|
||||
|
|
|
|||
|
|
@ -92,6 +92,8 @@ let CalculateRevenueButton;
|
|||
}
|
||||
})
|
||||
}
|
||||
|
||||
AchievementProgressBar()
|
||||
});
|
||||
})()
|
||||
|
||||
|
|
@ -439,7 +441,6 @@ async function OwnedTags() {
|
|||
}
|
||||
|
||||
async function PlaceRevenue() {
|
||||
console.log('place revenue ran')
|
||||
const Visits = parseInt(document.querySelector('li:has(i.fad.fa-users.text-muted[style])').innerText)
|
||||
const BricksPerView = 5
|
||||
let Revenue = (round5(Visits) / 5)
|
||||
|
|
@ -457,8 +458,6 @@ async function PlaceRevenue() {
|
|||
break
|
||||
}
|
||||
|
||||
console.log('CREATOR TAX: ' + CreatorTax)
|
||||
|
||||
fetch(`https://api.polytoria.com/v1/places/${PlaceID}/gamepasses`)
|
||||
.then(response => {
|
||||
if (!response.ok) {
|
||||
|
|
@ -486,3 +485,32 @@ async function PlaceRevenue() {
|
|||
}
|
||||
|
||||
function round5(number) { const remainder = number % 5; if (remainder < 2.5) { return number - remainder; } else { return number + (5 - remainder); } }
|
||||
|
||||
function AchievementProgressBar() {
|
||||
const Achievements = document.getElementById('achievements-tabpane')
|
||||
|
||||
const AchievementCount = Achievements.children.length
|
||||
let AchievementsEarned = 0
|
||||
|
||||
for (let achievement of Array.from(Achievements.children)) {
|
||||
const Achieved = (achievement.getElementsByClassName('fad fa-calendar')[0] !== undefined)
|
||||
|
||||
if (Achieved === true) {
|
||||
AchievementsEarned++
|
||||
}
|
||||
}
|
||||
|
||||
const PercentageEarned = ((AchievementsEarned*100)/AchievementCount).toFixed(0)
|
||||
|
||||
const ProgressBar = document.createElement('div')
|
||||
ProgressBar.role = 'progressbar'
|
||||
ProgressBar.classList = 'progress'
|
||||
ProgressBar.style.background = '#000'
|
||||
ProgressBar.ariaValueNow = PercentageEarned
|
||||
ProgressBar.ariaValueMin = "0"
|
||||
ProgressBar.ariaValueMax = "100"
|
||||
ProgressBar.innerHTML = `<div class="progress-bar progress-bar-striped text-bg-warning" style="width: ${PercentageEarned}%">${PercentageEarned}%</div>`
|
||||
|
||||
Achievements.prepend(document.createElement('hr'))
|
||||
Achievements.prepend(ProgressBar)
|
||||
}
|
||||
|
|
@ -510,7 +510,7 @@
|
|||
<br>
|
||||
<span class="desc">Quickly see how many bricks a user has gained from one of their places!</span>
|
||||
<br>
|
||||
<span style="font-size: 0.8rem; color: orange;">* Gamepass revenue is calculated assuming the price hasn't changed and all users that bought the gamepass, bought it at the same price.</span>
|
||||
<span style="font-size: 0.8rem; color: orange;">* Gamepass revenue is calculated assuming the price hasn't changed and all users that bought the gamepass, bought it at the same price that it is at the time of calculating.</span>
|
||||
</p>
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
|
|
|
|||
Reference in a new issue