diff --git a/src/lib/components/recentGrades/recentGrades.svelte b/src/lib/components/recentGrades/recentGrades.svelte index 1e0f92d7..4ed71702 100644 --- a/src/lib/components/recentGrades/recentGrades.svelte +++ b/src/lib/components/recentGrades/recentGrades.svelte @@ -3,12 +3,26 @@ import { onMount } from "svelte"; import { universisGet } from "$lib/dataService"; import GradeCard from "$components/recentGrades/recentGradesCard.svelte"; - import { dismissedGrades } from "$components/recentGrades/dismissedGrades" -; + import { dismissedGrades } from "$components/recentGrades/dismissedGrades"; + import { refresh } from "ionicons/icons"; let examPeriod = []; + /** + * @type {any[]} + */ let recentGrades = []; + /** + * @type {any[]} + */ + let allRecentGrades = []; //used to bring back recent grades with restore button + /** + * @type {string | any[]} + */ let grades = []; + /** + * @type {any[]} + */ + let recentlyDismissedGrades = []; // Subscribe to changes in dismissedGrades const unsubscribe = dismissedGrades.subscribe(value => { @@ -18,9 +32,13 @@ // Adding the grade from the deleted cards function addToDismissedGrades(id){ dismissedGrades.update(ids => [...ids, id]); + recentlyDismissedGrades = [...recentlyDismissedGrades, id]; } function removeFromDismissedGrades(id){ + dismissedGrades.update(grades => grades.filter(grade => grade !== id)); + } + function emptyDismissedGrades(){ dismissedGrades.update(grades => grades.filter(grade => false)); } @@ -62,7 +80,7 @@ // getting recent grades from the previous period recentGrades = (await universisGet('students/me/grades?$filter=courseExam/year eq ' + lastYear + ' and courseExam/examPeriod eq ' + lastPeriod + '&$expand=status,course($expand=gradeScale,locale),courseClass($expand=instructors($expand=instructor($select=InstructorSummary))),courseExam($expand=examPeriod,year)&$top=-1&$count=false')).value; - + allRecentGrades = [...recentGrades]; } // removing the grades that are already deleted @@ -82,9 +100,27 @@ addToDismissedGrades(examId); } + function restoreDeletedCard(){ + let id = recentlyDismissedGrades[recentlyDismissedGrades.length - 1]; + recentlyDismissedGrades = recentlyDismissedGrades.slice(0, -1); + removeFromDismissedGrades(id); + for (const recentGrade of allRecentGrades){ + if (id === recentGrade.courseExam.id){ + // recentGrades.push(recentGrade); + recentGrades = [...recentGrades, recentGrade]; + console.log(recentGrades); + console.log(allRecentGrades); + } + } + // if (deletedCards.length === 0){ + // showRestore = false; + // } + } +
+ {#if recentGrades.length === 0} @@ -95,6 +131,13 @@ {#each recentGrades as recentGrade } {/each} + +
+ {#if recentlyDismissedGrades.length > 0} + + {/if} +
+