aboutsummaryrefslogtreecommitdiff
path: root/src/control/deck.js
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-02-08 17:41:07 +0800
committerMistivia <i@mistivia.com>2025-02-08 17:41:07 +0800
commitc700c8f53dd7d29cb26dcf8bb201b96781740a93 (patch)
treec1d6127d199d70f14a108f2210c9cdc6f31860f5 /src/control/deck.js
parent5db7a8c78da09e7d5f7454ba019d39be04d8795e (diff)
fix up
Diffstat (limited to 'src/control/deck.js')
-rw-r--r--src/control/deck.js18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/control/deck.js b/src/control/deck.js
index d47b21c..ab46a02 100644
--- a/src/control/deck.js
+++ b/src/control/deck.js
@@ -5,7 +5,20 @@ import { cardDb } from '../data/cardDb';
let deck = writable({main: [], extra: [], side: []});
let deckState = {main: [], extra: [], side: []};
+function sanitizeDeck(deck) {
+ let ret = [];
+ for (let id of deck) {
+ if (cardDb[id] !== undefined) {
+ ret.push(id);
+ }
+ }
+ return ret;
+}
+
function setDeck(d) {
+ d.main = sanitizeDeck(d.main);
+ d.side = sanitizeDeck(d.side);
+ d.extra = sanitizeDeck(d.extra);
let sortFn = (a, b) => {return cardDb[a].cid - cardDb[b].cid;}
d.main.sort(sortFn);
d.extra.sort(sortFn);
@@ -15,9 +28,6 @@ function setDeck(d) {
localStorage.setItem('cachedDeck', JSON.stringify(d));
};
-const OK = 1;
-const FAIL = 0;
-
function canAdd(d, id) {
let count = 0;
for (let c of d.main) {
@@ -113,7 +123,7 @@ function initDeck() {
let deck = parseYdke(url[1]);
if (deck.main.length > 0 || deck.extra.length > 0 || deck.extra.length > 0) {
setDeck(deck);
- window.location.replace("/");
+ window.location.href = url[0];
return;
}
}