Fixed some bugs regarding pro codes saving/loading
parent
157e1e1bf4
commit
378de24dd1
|
|
@ -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";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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}")
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 %}
|
||||
|
|
|
|||
Loading…
Reference in New Issue