aboutsummaryrefslogtreecommitdiff
path: root/src/control
diff options
context:
space:
mode:
Diffstat (limited to 'src/control')
-rw-r--r--src/control/deck.js27
-rw-r--r--src/control/search.js7
2 files changed, 33 insertions, 1 deletions
diff --git a/src/control/deck.js b/src/control/deck.js
index 328e106..98c48fb 100644
--- a/src/control/deck.js
+++ b/src/control/deck.js
@@ -1,11 +1,36 @@
import { writable } from "svelte/store";
+import { parseYdke } from '../utils';
let deck = writable({main: [], extra: [], side: []});
-let setDeck = (d) => {
+function setDeck(d) {
+ d.main.sort();
+ d.extra.sort();
+ d.side.sort();
deck.set(d);
+ localStorage.setItem('cachedDeck', JSON.stringify(d));
};
+function initDeck() {
+ let url = window.location.href.split('#');
+ if (url.length === 2) {
+ let deck = parseYdke(url[1]);
+ if (deck.main.length > 0 || deck.extra.length > 0 || deck.extra.length > 0) {
+ setDeck(deck);
+ window.location.replace("/");
+ return;
+ }
+ }
+ let cachedDeck = localStorage.getItem('cachedDeck');
+ if (cachedDeck !== null) {
+ cachedDeck = JSON.parse(cachedDeck);
+ setDeck(cachedDeck)
+ return;
+ }
+}
+
+initDeck();
+
export {
deck,
setDeck,
diff --git a/src/control/search.js b/src/control/search.js
new file mode 100644
index 0000000..93a9fc9
--- /dev/null
+++ b/src/control/search.js
@@ -0,0 +1,7 @@
+import { writable } from 'svelte/store';
+
+let resultCards = writable([]);
+
+export {
+ resultCards,
+};