aboutsummaryrefslogtreecommitdiff
path: root/src/control/deck.js
blob: 98c48fb83a47fe2b1b2b177d9e5adb0c3c4f3660 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import { writable } from "svelte/store";
import { parseYdke } from '../utils';

let deck = writable({main: [], extra: [], side: []});

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,
};