summaryrefslogtreecommitdiff
path: root/docs/stories.js
blob: cb39b0ce8b9301228362501c50b2a11af7c77fd4 (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
// every story card
const workCards = document.querySelectorAll(".work-card");

// language select input
const languageSelect = document.querySelector("#language-select");
// copy of works with all work cards 
const works = Array.from(document.querySelector(".works").children);

// filter cards based on language filter
function filterWorkCards() {
    // restore initial state with all cards
    // (TODO: Explore more efficient solutions without another loop)
    document.querySelector(".works").replaceChildren();
    works.forEach((card) => {
        document.querySelector(".works").appendChild(card);
    })

    // filter card if language doesn't match
    workCards.forEach((card) => {
        if (languageSelect.value != "*" && card.querySelector(".story-language").innerHTML != languageSelect.value) {
            document.querySelector(".works").removeChild(card);
        }
    })
}

// filter cards when
// language selection changes
languageSelect.addEventListener("change", filterWorkCards);