diff options
Diffstat (limited to 'src/control')
| -rw-r--r-- | src/control/deck.js | 27 | ||||
| -rw-r--r-- | src/control/search.js | 7 |
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, +}; |
