refactor: establish standalone application boundary

This commit is contained in:
leefer
2026-08-03 21:42:25 +08:00
parent cc5fb8d73e
commit e1e76cd51e
324 changed files with 63090 additions and 44743 deletions
+16 -3
View File
@@ -1,6 +1,5 @@
window.XiaobaiPageModules.register("ladder", ["ladderView"]);
window.XiaobaiPageModules.register("ladder", ["ladderView"], { bind: bindLadderEvents });
/* PRESERVATION-SOURCE-BEGIN app.js:2125-2216 */
function renderLadderMini(ladders) {
const container = document.querySelector("#ladderMini");
const highest = ladders.length ? Math.max(...ladders.map((item) => number(item.level))) : 0;
@@ -93,4 +92,18 @@ function renderLadderBoard(ladders) {
refreshIcons();
}
/* PRESERVATION-SOURCE-END app.js:2125-2216 */
function bindLadderEvents() {
document.querySelectorAll("[data-ladder-sort]").forEach((button) => {
button.addEventListener("click", () => {
state.ladderSortMode = button.dataset.ladderSort === "open" ? "open" : "time";
document.querySelectorAll("[data-ladder-sort]").forEach((item) => {
const active = item === button;
item.classList.toggle("active", active);
item.setAttribute("aria-pressed", String(active));
});
renderLadderBoard(state.dashboard?.ladders || []);
});
});
document.querySelector("#ladderExportButton").addEventListener("click", exportLadder);
}