-
Choose a Deck To lean from!
+
Choose a Deck To learn from!
{
- const selectedDeck = DemoDeck.find((deck) => deck.deckName === event.target.value);
- if (selectedDeck) {
- SetNewDeck(selectedDeck.cards);
- }
+ SelectNewDeck(event.target.value);
}}
class="input"
>
goo ahead choose one!
- {#each DemoDeck as deckOption}
- {deckOption.deckName}
+ {#each StorageDeck.v as deckOption, i}
+ {deckOption.deckName}
{/each}
diff --git a/src/routes/flashcards/editCards.svelte b/src/routes/flashcards/editCards.svelte
index 9830e5e..8a73dfc 100644
--- a/src/routes/flashcards/editCards.svelte
+++ b/src/routes/flashcards/editCards.svelte
@@ -1,24 +1,38 @@
+
+
+ What deck do you want to edit?
+
+
+ {#each deck as d, i}
+ {d.deckName}
+ {/each}
+
+
+
Question
Answer
-
+
- {#each LocalDeck as card, i}
+
+ {#each deck[CurrentlyEditingDeckId].cards as card, i}
@@ -26,20 +40,20 @@
aria-label="delete"
onclick={() => {
if (confirm("Are you sure you want to delete this card?")) {
- LocalDeck.splice(i, 1);
- toast.success("Card deleted successfully! To make it apply, please save the deck.");
+ deck[CurrentlyEditingDeckId].cards.splice(i, 1);
}
}}
- class="btn dull">
+
+
{/each}
{
- LocalDeck.push({ Q: "", a: "" });
- toast.success("New card added! To make it apply, please save the deck.");
+ deck[CurrentlyEditingDeckId].cards.push({ Q: "", a: "" });
}}
class="btn"
>
@@ -47,8 +61,8 @@
Add New Card
-
- Save
+
+ Save All Changes You Made
diff --git a/src/routes/flashcards/logic.svelte.js b/src/routes/flashcards/logic.svelte.js
index 132b9ba..3fbb82f 100644
--- a/src/routes/flashcards/logic.svelte.js
+++ b/src/routes/flashcards/logic.svelte.js
@@ -8,38 +8,41 @@ export let statusOfCard = $state({
entering: false,
});
-export let deck = [
- { Q: "Best programer in the world?", a: "RezHackXYZ" },
- { Q: "Best coding community?", a: "HackClub" },
- { Q: "Will @Shub go totally bankrupt?", a: "yes!" },
-];
+export let StorageDeck = $state({ v: [] });
-export function SetNewDeck(newDeck, ThisIsOfPageLoad = false) {
- deck = newDeck;
+export let deck = $state({ v: [] });
+
+export function SetNewDeck(newDeck, ThisIsOfPageLoad = true) {
+ StorageDeck.v = newDeck;
resetDeck();
stats.isDeckEmpty = ThisIsOfPageLoad;
}
+export function SelectNewDeck(deckNumber) {
+ deck.v = StorageDeck.v[deckNumber].cards;
+ resetDeck();
+}
+
export let stats = $state({
isDeckEmpty: true,
AnswerKnown: 0,
AnswerNotKnown: 0,
- AnswerNotChecked: deck.length,
+ AnswerNotChecked: deck.v.length,
});
let CurrentDeck = {
AnswersKnown: [],
AnswersNotKnown: [],
- AnswersNotChecked: $state.snapshot(deck),
+ AnswersNotChecked: $state.snapshot(deck).v,
};
export function resetDeck() {
CurrentDeck.AnswersKnown = [];
CurrentDeck.AnswersNotKnown = [];
- CurrentDeck.AnswersNotChecked = $state.snapshot(deck);
+ CurrentDeck.AnswersNotChecked = $state.snapshot(deck).v;
stats.AnswerKnown = 0;
stats.AnswerNotKnown = 0;
- stats.AnswerNotChecked = deck.length;
+ stats.AnswerNotChecked = deck.v.length;
stats.isDeckEmpty = false;
SetNewCard();
}