Fixed some bugs regarding pro codes saving/loading

master
Wynd 2025-10-28 23:55:16 +02:00
parent 157e1e1bf4
commit 378de24dd1
3 changed files with 18 additions and 6 deletions

View File

@ -31,16 +31,18 @@ document.addEventListener("DOMContentLoaded", (event) => {
const merit =
Number(localStorage.getItem(MERIT_STORAGE_NAME + source)) ?? 0;
if (merit > 0) {
markFight(fight);
markFight(fight, merit);
}
}
});
function markFight(data) {
function markFight(data, loadedMerit = 0) {
const source = data.dataset["meritSource"];
const enemyName = data.dataset["enemy"];
const baseMerit = data.dataset["baseMerit"];
const isMarked = data.dataset["marked"] === "true" ? true : false;
const fightLabel = data.parentNode.querySelector("span");
const isLoading = loadedMerit > 0;
if (isMarked) {
data.dataset["marked"] = false;
@ -52,9 +54,11 @@ function markFight(data) {
data.innerText = "Mark";
data.classList.remove("danger");
fightLabel.innerText = source;
fightLabel.innerText = enemyName;
} else {
let merit = baseMerit * (stars * STAR_MULTIPLIER);
let merit = isLoading
? loadedMerit
: baseMerit * (stars * STAR_MULTIPLIER);
data.dataset["marked"] = true;
totalMerit += merit;
updateMeritCounter();
@ -64,7 +68,7 @@ function markFight(data) {
data.innerText = "Unmark";
data.classList.add("danger");
fightLabel.innerText = source + " | " + merit + " Merit";
fightLabel.innerText = enemyName + " | " + merit + " Merit";
}
}

View File

@ -28,3 +28,11 @@ pub struct ProCodeFight {
pub enemy: String,
pub merit: u16,
}
impl ProCodeFight {
pub fn source(&self) -> String {
let world = self.world.replace(" ", "_").to_lowercase();
let enemy = self.enemy.replace(" ", "_").to_lowercase();
format!("{world}/{enemy}")
}
}

View File

@ -36,7 +36,7 @@
<div class="scrollable">
{% for fight in fights %}
<div class="slot">
<button onclick="markFight(this)" data-merit-source="{{fight.enemy}}" data-base-merit="{{fight.merit}}">Mark</button>
<button onclick="markFight(this)" data-enemy="{{fight.enemy}}" data-merit-source="{{fight.source()}}" data-base-merit="{{fight.merit}}">Mark</button>
<span>{{fight.enemy}}</span>
</div>
{% endfor %}