feat(frontend): CreateAssignment.vue accepteert hruid vanuit leerpad pagina
This commit is contained in:
		
							parent
							
								
									a421b1996a
								
							
						
					
					
						commit
						790ef985be
					
				
					 8 changed files with 348 additions and 23 deletions
				
			
		|  | @ -16,6 +16,7 @@ | ||||||
|         "test:unit": "vitest --run" |         "test:unit": "vitest --run" | ||||||
|     }, |     }, | ||||||
|     "dependencies": { |     "dependencies": { | ||||||
|  |         "@esbuild/darwin-arm64": "^0.25.2", | ||||||
|         "@mikro-orm/core": "6.4.12", |         "@mikro-orm/core": "6.4.12", | ||||||
|         "@mikro-orm/knex": "6.4.12", |         "@mikro-orm/knex": "6.4.12", | ||||||
|         "@mikro-orm/postgresql": "6.4.12", |         "@mikro-orm/postgresql": "6.4.12", | ||||||
|  |  | ||||||
|  | @ -18,6 +18,7 @@ | ||||||
|     }, |     }, | ||||||
|     "dependencies": { |     "dependencies": { | ||||||
|         "@dwengo-1/common": "^0.1.1", |         "@dwengo-1/common": "^0.1.1", | ||||||
|  |         "@rollup/rollup-darwin-arm64": "^4.40.0", | ||||||
|         "@tanstack/react-query": "^5.69.0", |         "@tanstack/react-query": "^5.69.0", | ||||||
|         "@tanstack/vue-query": "^5.69.0", |         "@tanstack/vue-query": "^5.69.0", | ||||||
|         "@vueuse/core": "^13.1.0", |         "@vueuse/core": "^13.1.0", | ||||||
|  |  | ||||||
|  | @ -99,7 +99,7 @@ | ||||||
|     "loadSubmission": "Einladen", |     "loadSubmission": "Einladen", | ||||||
|     "noSubmissionsYet": "Noch keine Lösungen eingereicht.", |     "noSubmissionsYet": "Noch keine Lösungen eingereicht.", | ||||||
|     "viewAsGroup": "Fortschritt ansehen von Gruppe...", |     "viewAsGroup": "Fortschritt ansehen von Gruppe...", | ||||||
|     "assignLearningPath": "Als Aufgabe geben" |     "assignLearningPath": "Als Aufgabe geben", | ||||||
|     "group": "Gruppe", |     "group": "Gruppe", | ||||||
|     "description": "Beschreibung", |     "description": "Beschreibung", | ||||||
|     "no-submission": "keine vorlage", |     "no-submission": "keine vorlage", | ||||||
|  |  | ||||||
|  | @ -99,7 +99,7 @@ | ||||||
|     "loadSubmission": "Charger", |     "loadSubmission": "Charger", | ||||||
|     "noSubmissionsYet": "Pas encore de soumissions.", |     "noSubmissionsYet": "Pas encore de soumissions.", | ||||||
|     "viewAsGroup": "Voir la progression du groupe...", |     "viewAsGroup": "Voir la progression du groupe...", | ||||||
|     "assignLearningPath": "donner comme tâche" |     "assignLearningPath": "donner comme tâche", | ||||||
|     "group": "Groupe", |     "group": "Groupe", | ||||||
|     "description": "Description", |     "description": "Description", | ||||||
|     "no-submission": "aucune soumission", |     "no-submission": "aucune soumission", | ||||||
|  |  | ||||||
|  | @ -99,7 +99,7 @@ | ||||||
|     "loadSubmission": "Inladen", |     "loadSubmission": "Inladen", | ||||||
|     "noSubmissionsYet": "Nog geen indieningen.", |     "noSubmissionsYet": "Nog geen indieningen.", | ||||||
|     "viewAsGroup": "Vooruitgang bekijken van groep...", |     "viewAsGroup": "Vooruitgang bekijken van groep...", | ||||||
|     "assignLearningPath": "Als opdracht geven" |     "assignLearningPath": "Als opdracht geven", | ||||||
|     "group": "Groep", |     "group": "Groep", | ||||||
|     "description": "Beschrijving", |     "description": "Beschrijving", | ||||||
|     "no-submission": "geen indiening", |     "no-submission": "geen indiening", | ||||||
|  |  | ||||||
|  | @ -15,16 +15,6 @@ import type {AssignmentDTO} from "@dwengo-1/common/interfaces/assignment"; | ||||||
| import {useCreateAssignmentMutation} from "@/queries/assignments.ts"; | import {useCreateAssignmentMutation} from "@/queries/assignments.ts"; | ||||||
| import {useRoute} from "vue-router"; | import {useRoute} from "vue-router"; | ||||||
| 
 | 
 | ||||||
| /*** |  | ||||||
|  TODO: when clicking the assign button from lp page pass the lp-hruid in a query like this: |  | ||||||
|  router.push({ |  | ||||||
|  path: "/assignment/create, |  | ||||||
|  query: { |  | ||||||
|  ...route.query, |  | ||||||
|  lp: hruid, |  | ||||||
|  }, |  | ||||||
|  }); |  | ||||||
|  */ |  | ||||||
| 
 | 
 | ||||||
| const route = useRoute(); | const route = useRoute(); | ||||||
| const router = useRouter(); | const router = useRouter(); | ||||||
|  | @ -56,10 +46,10 @@ const classesQueryResults = useTeacherClassesQuery(username, true); | ||||||
| const selectedClass = ref(undefined); | const selectedClass = ref(undefined); | ||||||
| 
 | 
 | ||||||
| const assignmentTitle = ref(''); | const assignmentTitle = ref(''); | ||||||
| const selectedLearningPath = ref(route.query.lp || undefined); | const selectedLearningPath = ref(route.query.hruid || undefined); | ||||||
| 
 | 
 | ||||||
| // Disable combobox when learningPath prop is passed | // Disable combobox when learningPath prop is passed | ||||||
| const lpIsSelected = route.query.lp !== undefined; | const lpIsSelected = route.query.hruid !== undefined; | ||||||
| const deadline = ref(null); | const deadline = ref(null); | ||||||
| const description = ref(''); | const description = ref(''); | ||||||
| const groups = ref<string[][]>([]); | const groups = ref<string[][]>([]); | ||||||
|  | @ -75,7 +65,7 @@ watch(selectedClass, () => { | ||||||
|     groups.value = []; |     groups.value = []; | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| const {mutate, isSuccess} = useCreateAssignmentMutation(); | const {mutate, data, isSuccess} = useCreateAssignmentMutation(); | ||||||
| 
 | 
 | ||||||
| async function submitFormHandler(): Promise<void> { | async function submitFormHandler(): Promise<void> { | ||||||
|     const {valid} = await form.value.validate(); |     const {valid} = await form.value.validate(); | ||||||
|  | @ -92,7 +82,7 @@ async function submitFormHandler(): Promise<void> { | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     mutate({cid: assignmentDTO.within, data: assignmentDTO}); |     mutate({cid: assignmentDTO.within, data: assignmentDTO}); | ||||||
|     if (isSuccess) await router.push("/user/assignment"); |     if (isSuccess) await router.push(`/assignment/class/${data.value?.assignment.within}/${data.value?.assignment.id}`); | ||||||
| } | } | ||||||
| </script> | </script> | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -21,8 +21,8 @@ function useGroupsWithProgress( | ||||||
|     groups: Ref<GroupDTO[]>, |     groups: Ref<GroupDTO[]>, | ||||||
|     hruid: Ref<string>, |     hruid: Ref<string>, | ||||||
|     language: Ref<string> |     language: Ref<string> | ||||||
| ): { groupProgressMap: Record<string, number> } { | ): { groupProgressMap: Record<number, number> } { | ||||||
|     const groupProgressMap: Record<string, number> = reactive({}); |     const groupProgressMap: Record<number, number> = reactive({}); | ||||||
| 
 | 
 | ||||||
|     watchEffect(() => { |     watchEffect(() => { | ||||||
|         // Clear existing entries to avoid stale data |         // Clear existing entries to avoid stale data | ||||||
|  | @ -30,15 +30,18 @@ function useGroupsWithProgress( | ||||||
|             delete groupProgressMap[key]; |             delete groupProgressMap[key]; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         const lang = language.value as Language; |         const lang = ref(language.value as Language); | ||||||
| 
 | 
 | ||||||
|         groups.value.forEach((group) => { |         groups.value.forEach((group) => { | ||||||
|             const groupKey = group.groupNumber.toString(); |             const groupKey = group.groupNumber; | ||||||
| 
 |             const forGroup = ref({ | ||||||
|             const query = useGetLearningPathQuery(hruid.value, lang, { |  | ||||||
|                 forGroup: groupKey, |                 forGroup: groupKey, | ||||||
|  |                 assignmentNo: assignmentId, | ||||||
|  |                 classId: classId, | ||||||
|             }); |             }); | ||||||
| 
 | 
 | ||||||
|  |             const query = useGetLearningPathQuery(hruid.value, lang, forGroup); | ||||||
|  | 
 | ||||||
|             const data = query.data.value; |             const data = query.data.value; | ||||||
| 
 | 
 | ||||||
|             groupProgressMap[groupKey] = data ? calculateProgress(data) : 0; |             groupProgressMap[groupKey] = data ? calculateProgress(data) : 0; | ||||||
|  |  | ||||||
							
								
								
									
										330
									
								
								package-lock.json
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										330
									
								
								package-lock.json
									
										
									
										generated
									
									
									
								
							|  | @ -31,6 +31,7 @@ | ||||||
|             "name": "@dwengo-1/backend", |             "name": "@dwengo-1/backend", | ||||||
|             "version": "0.1.1", |             "version": "0.1.1", | ||||||
|             "dependencies": { |             "dependencies": { | ||||||
|  |                 "@esbuild/darwin-arm64": "^0.25.2", | ||||||
|                 "@mikro-orm/core": "6.4.12", |                 "@mikro-orm/core": "6.4.12", | ||||||
|                 "@mikro-orm/knex": "6.4.12", |                 "@mikro-orm/knex": "6.4.12", | ||||||
|                 "@mikro-orm/postgresql": "6.4.12", |                 "@mikro-orm/postgresql": "6.4.12", | ||||||
|  | @ -101,6 +102,7 @@ | ||||||
|             "version": "0.1.1", |             "version": "0.1.1", | ||||||
|             "dependencies": { |             "dependencies": { | ||||||
|                 "@dwengo-1/common": "^0.1.1", |                 "@dwengo-1/common": "^0.1.1", | ||||||
|  |                 "@rollup/rollup-darwin-arm64": "^4.40.0", | ||||||
|                 "@tanstack/react-query": "^5.69.0", |                 "@tanstack/react-query": "^5.69.0", | ||||||
|                 "@tanstack/vue-query": "^5.69.0", |                 "@tanstack/vue-query": "^5.69.0", | ||||||
|                 "@vueuse/core": "^13.1.0", |                 "@vueuse/core": "^13.1.0", | ||||||
|  | @ -860,6 +862,21 @@ | ||||||
|             "resolved": "common", |             "resolved": "common", | ||||||
|             "link": true |             "link": true | ||||||
|         }, |         }, | ||||||
|  |         "node_modules/@esbuild/darwin-arm64": { | ||||||
|  |             "version": "0.25.2", | ||||||
|  |             "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.2.tgz", | ||||||
|  |             "integrity": "sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==", | ||||||
|  |             "cpu": [ | ||||||
|  |                 "arm64" | ||||||
|  |             ], | ||||||
|  |             "license": "MIT", | ||||||
|  |             "os": [ | ||||||
|  |                 "darwin" | ||||||
|  |             ], | ||||||
|  |             "engines": { | ||||||
|  |                 "node": ">=18" | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|         "node_modules/@esbuild/linux-x64": { |         "node_modules/@esbuild/linux-x64": { | ||||||
|             "version": "0.25.2", |             "version": "0.25.2", | ||||||
|             "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz", |             "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz", | ||||||
|  | @ -1762,6 +1779,228 @@ | ||||||
|                 "url": "https://github.com/sponsors/jonschlinkert" |                 "url": "https://github.com/sponsors/jonschlinkert" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|  |         "node_modules/@rollup/rollup-android-arm-eabi": { | ||||||
|  |             "version": "4.38.0", | ||||||
|  |             "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.38.0.tgz", | ||||||
|  |             "integrity": "sha512-ldomqc4/jDZu/xpYU+aRxo3V4mGCV9HeTgUBANI3oIQMOL+SsxB+S2lxMpkFp5UamSS3XuTMQVbsS24R4J4Qjg==", | ||||||
|  |             "cpu": [ | ||||||
|  |                 "arm" | ||||||
|  |             ], | ||||||
|  |             "dev": true, | ||||||
|  |             "license": "MIT", | ||||||
|  |             "optional": true, | ||||||
|  |             "os": [ | ||||||
|  |                 "android" | ||||||
|  |             ], | ||||||
|  |             "peer": true | ||||||
|  |         }, | ||||||
|  |         "node_modules/@rollup/rollup-android-arm64": { | ||||||
|  |             "version": "4.38.0", | ||||||
|  |             "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.38.0.tgz", | ||||||
|  |             "integrity": "sha512-VUsgcy4GhhT7rokwzYQP+aV9XnSLkkhlEJ0St8pbasuWO/vwphhZQxYEKUP3ayeCYLhk6gEtacRpYP/cj3GjyQ==", | ||||||
|  |             "cpu": [ | ||||||
|  |                 "arm64" | ||||||
|  |             ], | ||||||
|  |             "dev": true, | ||||||
|  |             "license": "MIT", | ||||||
|  |             "optional": true, | ||||||
|  |             "os": [ | ||||||
|  |                 "android" | ||||||
|  |             ], | ||||||
|  |             "peer": true | ||||||
|  |         }, | ||||||
|  |         "node_modules/@rollup/rollup-darwin-arm64": { | ||||||
|  |             "version": "4.40.0", | ||||||
|  |             "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.0.tgz", | ||||||
|  |             "integrity": "sha512-GwYOcOakYHdfnjjKwqpTGgn5a6cUX7+Ra2HeNj/GdXvO2VJOOXCiYYlRFU4CubFM67EhbmzLOmACKEfvp3J1kQ==", | ||||||
|  |             "cpu": [ | ||||||
|  |                 "arm64" | ||||||
|  |             ], | ||||||
|  |             "license": "MIT", | ||||||
|  |             "os": [ | ||||||
|  |                 "darwin" | ||||||
|  |             ] | ||||||
|  |         }, | ||||||
|  |         "node_modules/@rollup/rollup-darwin-x64": { | ||||||
|  |             "version": "4.38.0", | ||||||
|  |             "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.38.0.tgz", | ||||||
|  |             "integrity": "sha512-Mgcmc78AjunP1SKXl624vVBOF2bzwNWFPMP4fpOu05vS0amnLcX8gHIge7q/lDAHy3T2HeR0TqrriZDQS2Woeg==", | ||||||
|  |             "cpu": [ | ||||||
|  |                 "x64" | ||||||
|  |             ], | ||||||
|  |             "dev": true, | ||||||
|  |             "license": "MIT", | ||||||
|  |             "optional": true, | ||||||
|  |             "os": [ | ||||||
|  |                 "darwin" | ||||||
|  |             ], | ||||||
|  |             "peer": true | ||||||
|  |         }, | ||||||
|  |         "node_modules/@rollup/rollup-freebsd-arm64": { | ||||||
|  |             "version": "4.38.0", | ||||||
|  |             "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.38.0.tgz", | ||||||
|  |             "integrity": "sha512-zzJACgjLbQTsscxWqvrEQAEh28hqhebpRz5q/uUd1T7VTwUNZ4VIXQt5hE7ncs0GrF+s7d3S4on4TiXUY8KoQA==", | ||||||
|  |             "cpu": [ | ||||||
|  |                 "arm64" | ||||||
|  |             ], | ||||||
|  |             "dev": true, | ||||||
|  |             "license": "MIT", | ||||||
|  |             "optional": true, | ||||||
|  |             "os": [ | ||||||
|  |                 "freebsd" | ||||||
|  |             ], | ||||||
|  |             "peer": true | ||||||
|  |         }, | ||||||
|  |         "node_modules/@rollup/rollup-freebsd-x64": { | ||||||
|  |             "version": "4.38.0", | ||||||
|  |             "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.38.0.tgz", | ||||||
|  |             "integrity": "sha512-hCY/KAeYMCyDpEE4pTETam0XZS4/5GXzlLgpi5f0IaPExw9kuB+PDTOTLuPtM10TlRG0U9OSmXJ+Wq9J39LvAg==", | ||||||
|  |             "cpu": [ | ||||||
|  |                 "x64" | ||||||
|  |             ], | ||||||
|  |             "dev": true, | ||||||
|  |             "license": "MIT", | ||||||
|  |             "optional": true, | ||||||
|  |             "os": [ | ||||||
|  |                 "freebsd" | ||||||
|  |             ], | ||||||
|  |             "peer": true | ||||||
|  |         }, | ||||||
|  |         "node_modules/@rollup/rollup-linux-arm-gnueabihf": { | ||||||
|  |             "version": "4.38.0", | ||||||
|  |             "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.38.0.tgz", | ||||||
|  |             "integrity": "sha512-mimPH43mHl4JdOTD7bUMFhBdrg6f9HzMTOEnzRmXbOZqjijCw8LA5z8uL6LCjxSa67H2xiLFvvO67PT05PRKGg==", | ||||||
|  |             "cpu": [ | ||||||
|  |                 "arm" | ||||||
|  |             ], | ||||||
|  |             "dev": true, | ||||||
|  |             "license": "MIT", | ||||||
|  |             "optional": true, | ||||||
|  |             "os": [ | ||||||
|  |                 "linux" | ||||||
|  |             ], | ||||||
|  |             "peer": true | ||||||
|  |         }, | ||||||
|  |         "node_modules/@rollup/rollup-linux-arm-musleabihf": { | ||||||
|  |             "version": "4.38.0", | ||||||
|  |             "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.38.0.tgz", | ||||||
|  |             "integrity": "sha512-tPiJtiOoNuIH8XGG8sWoMMkAMm98PUwlriOFCCbZGc9WCax+GLeVRhmaxjJtz6WxrPKACgrwoZ5ia/uapq3ZVg==", | ||||||
|  |             "cpu": [ | ||||||
|  |                 "arm" | ||||||
|  |             ], | ||||||
|  |             "dev": true, | ||||||
|  |             "license": "MIT", | ||||||
|  |             "optional": true, | ||||||
|  |             "os": [ | ||||||
|  |                 "linux" | ||||||
|  |             ], | ||||||
|  |             "peer": true | ||||||
|  |         }, | ||||||
|  |         "node_modules/@rollup/rollup-linux-arm64-gnu": { | ||||||
|  |             "version": "4.38.0", | ||||||
|  |             "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.38.0.tgz", | ||||||
|  |             "integrity": "sha512-wZco59rIVuB0tjQS0CSHTTUcEde+pXQWugZVxWaQFdQQ1VYub/sTrNdY76D1MKdN2NB48JDuGABP6o6fqos8mA==", | ||||||
|  |             "cpu": [ | ||||||
|  |                 "arm64" | ||||||
|  |             ], | ||||||
|  |             "dev": true, | ||||||
|  |             "license": "MIT", | ||||||
|  |             "optional": true, | ||||||
|  |             "os": [ | ||||||
|  |                 "linux" | ||||||
|  |             ], | ||||||
|  |             "peer": true | ||||||
|  |         }, | ||||||
|  |         "node_modules/@rollup/rollup-linux-arm64-musl": { | ||||||
|  |             "version": "4.38.0", | ||||||
|  |             "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.38.0.tgz", | ||||||
|  |             "integrity": "sha512-fQgqwKmW0REM4LomQ+87PP8w8xvU9LZfeLBKybeli+0yHT7VKILINzFEuggvnV9M3x1Ed4gUBmGUzCo/ikmFbQ==", | ||||||
|  |             "cpu": [ | ||||||
|  |                 "arm64" | ||||||
|  |             ], | ||||||
|  |             "dev": true, | ||||||
|  |             "license": "MIT", | ||||||
|  |             "optional": true, | ||||||
|  |             "os": [ | ||||||
|  |                 "linux" | ||||||
|  |             ], | ||||||
|  |             "peer": true | ||||||
|  |         }, | ||||||
|  |         "node_modules/@rollup/rollup-linux-loongarch64-gnu": { | ||||||
|  |             "version": "4.38.0", | ||||||
|  |             "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.38.0.tgz", | ||||||
|  |             "integrity": "sha512-hz5oqQLXTB3SbXpfkKHKXLdIp02/w3M+ajp8p4yWOWwQRtHWiEOCKtc9U+YXahrwdk+3qHdFMDWR5k+4dIlddg==", | ||||||
|  |             "cpu": [ | ||||||
|  |                 "loong64" | ||||||
|  |             ], | ||||||
|  |             "dev": true, | ||||||
|  |             "license": "MIT", | ||||||
|  |             "optional": true, | ||||||
|  |             "os": [ | ||||||
|  |                 "linux" | ||||||
|  |             ], | ||||||
|  |             "peer": true | ||||||
|  |         }, | ||||||
|  |         "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { | ||||||
|  |             "version": "4.38.0", | ||||||
|  |             "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.38.0.tgz", | ||||||
|  |             "integrity": "sha512-NXqygK/dTSibQ+0pzxsL3r4Xl8oPqVoWbZV9niqOnIHV/J92fe65pOir0xjkUZDRSPyFRvu+4YOpJF9BZHQImw==", | ||||||
|  |             "cpu": [ | ||||||
|  |                 "ppc64" | ||||||
|  |             ], | ||||||
|  |             "dev": true, | ||||||
|  |             "license": "MIT", | ||||||
|  |             "optional": true, | ||||||
|  |             "os": [ | ||||||
|  |                 "linux" | ||||||
|  |             ], | ||||||
|  |             "peer": true | ||||||
|  |         }, | ||||||
|  |         "node_modules/@rollup/rollup-linux-riscv64-gnu": { | ||||||
|  |             "version": "4.38.0", | ||||||
|  |             "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.38.0.tgz", | ||||||
|  |             "integrity": "sha512-GEAIabR1uFyvf/jW/5jfu8gjM06/4kZ1W+j1nWTSSB3w6moZEBm7iBtzwQ3a1Pxos2F7Gz+58aVEnZHU295QTg==", | ||||||
|  |             "cpu": [ | ||||||
|  |                 "riscv64" | ||||||
|  |             ], | ||||||
|  |             "dev": true, | ||||||
|  |             "license": "MIT", | ||||||
|  |             "optional": true, | ||||||
|  |             "os": [ | ||||||
|  |                 "linux" | ||||||
|  |             ], | ||||||
|  |             "peer": true | ||||||
|  |         }, | ||||||
|  |         "node_modules/@rollup/rollup-linux-riscv64-musl": { | ||||||
|  |             "version": "4.38.0", | ||||||
|  |             "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.38.0.tgz", | ||||||
|  |             "integrity": "sha512-9EYTX+Gus2EGPbfs+fh7l95wVADtSQyYw4DfSBcYdUEAmP2lqSZY0Y17yX/3m5VKGGJ4UmIH5LHLkMJft3bYoA==", | ||||||
|  |             "cpu": [ | ||||||
|  |                 "riscv64" | ||||||
|  |             ], | ||||||
|  |             "dev": true, | ||||||
|  |             "license": "MIT", | ||||||
|  |             "optional": true, | ||||||
|  |             "os": [ | ||||||
|  |                 "linux" | ||||||
|  |             ], | ||||||
|  |             "peer": true | ||||||
|  |         }, | ||||||
|  |         "node_modules/@rollup/rollup-linux-s390x-gnu": { | ||||||
|  |             "version": "4.38.0", | ||||||
|  |             "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.38.0.tgz", | ||||||
|  |             "integrity": "sha512-Mpp6+Z5VhB9VDk7RwZXoG2qMdERm3Jw07RNlXHE0bOnEeX+l7Fy4bg+NxfyN15ruuY3/7Vrbpm75J9QHFqj5+Q==", | ||||||
|  |             "cpu": [ | ||||||
|  |                 "s390x" | ||||||
|  |             ], | ||||||
|  |             "dev": true, | ||||||
|  |             "license": "MIT", | ||||||
|  |             "optional": true, | ||||||
|  |             "os": [ | ||||||
|  |                 "linux" | ||||||
|  |             ], | ||||||
|  |             "peer": true | ||||||
|  |         }, | ||||||
|         "node_modules/@rollup/rollup-linux-x64-gnu": { |         "node_modules/@rollup/rollup-linux-x64-gnu": { | ||||||
|             "version": "4.38.0", |             "version": "4.38.0", | ||||||
|             "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.38.0.tgz", |             "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.38.0.tgz", | ||||||
|  | @ -1792,6 +2031,51 @@ | ||||||
|             ], |             ], | ||||||
|             "peer": true |             "peer": true | ||||||
|         }, |         }, | ||||||
|  |         "node_modules/@rollup/rollup-win32-arm64-msvc": { | ||||||
|  |             "version": "4.38.0", | ||||||
|  |             "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.38.0.tgz", | ||||||
|  |             "integrity": "sha512-u/Jbm1BU89Vftqyqbmxdq14nBaQjQX1HhmsdBWqSdGClNaKwhjsg5TpW+5Ibs1mb8Es9wJiMdl86BcmtUVXNZg==", | ||||||
|  |             "cpu": [ | ||||||
|  |                 "arm64" | ||||||
|  |             ], | ||||||
|  |             "dev": true, | ||||||
|  |             "license": "MIT", | ||||||
|  |             "optional": true, | ||||||
|  |             "os": [ | ||||||
|  |                 "win32" | ||||||
|  |             ], | ||||||
|  |             "peer": true | ||||||
|  |         }, | ||||||
|  |         "node_modules/@rollup/rollup-win32-ia32-msvc": { | ||||||
|  |             "version": "4.38.0", | ||||||
|  |             "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.38.0.tgz", | ||||||
|  |             "integrity": "sha512-mqu4PzTrlpNHHbu5qleGvXJoGgHpChBlrBx/mEhTPpnAL1ZAYFlvHD7rLK839LLKQzqEQMFJfGrrOHItN4ZQqA==", | ||||||
|  |             "cpu": [ | ||||||
|  |                 "ia32" | ||||||
|  |             ], | ||||||
|  |             "dev": true, | ||||||
|  |             "license": "MIT", | ||||||
|  |             "optional": true, | ||||||
|  |             "os": [ | ||||||
|  |                 "win32" | ||||||
|  |             ], | ||||||
|  |             "peer": true | ||||||
|  |         }, | ||||||
|  |         "node_modules/@rollup/rollup-win32-x64-msvc": { | ||||||
|  |             "version": "4.38.0", | ||||||
|  |             "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.38.0.tgz", | ||||||
|  |             "integrity": "sha512-jjqy3uWlecfB98Psxb5cD6Fny9Fupv9LrDSPTQZUROqjvZmcCqNu4UMl7qqhlUUGpwiAkotj6GYu4SZdcr/nLw==", | ||||||
|  |             "cpu": [ | ||||||
|  |                 "x64" | ||||||
|  |             ], | ||||||
|  |             "dev": true, | ||||||
|  |             "license": "MIT", | ||||||
|  |             "optional": true, | ||||||
|  |             "os": [ | ||||||
|  |                 "win32" | ||||||
|  |             ], | ||||||
|  |             "peer": true | ||||||
|  |         }, | ||||||
|         "node_modules/@scarf/scarf": { |         "node_modules/@scarf/scarf": { | ||||||
|             "version": "1.4.0", |             "version": "1.4.0", | ||||||
|             "resolved": "https://registry.npmjs.org/@scarf/scarf/-/scarf-1.4.0.tgz", |             "resolved": "https://registry.npmjs.org/@scarf/scarf/-/scarf-1.4.0.tgz", | ||||||
|  | @ -5290,6 +5574,22 @@ | ||||||
|             "devOptional": true, |             "devOptional": true, | ||||||
|             "license": "ISC" |             "license": "ISC" | ||||||
|         }, |         }, | ||||||
|  |         "node_modules/fsevents": { | ||||||
|  |             "version": "2.3.3", | ||||||
|  |             "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", | ||||||
|  |             "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", | ||||||
|  |             "dev": true, | ||||||
|  |             "hasInstallScript": true, | ||||||
|  |             "license": "MIT", | ||||||
|  |             "optional": true, | ||||||
|  |             "os": [ | ||||||
|  |                 "darwin" | ||||||
|  |             ], | ||||||
|  |             "peer": true, | ||||||
|  |             "engines": { | ||||||
|  |                 "node": "^8.16.0 || ^10.6.0 || >=11.0.0" | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|         "node_modules/function-bind": { |         "node_modules/function-bind": { | ||||||
|             "version": "1.1.2", |             "version": "1.1.2", | ||||||
|             "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", |             "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", | ||||||
|  | @ -7976,6 +8276,21 @@ | ||||||
|                 "node": ">=18" |                 "node": ">=18" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|  |         "node_modules/playwright/node_modules/fsevents": { | ||||||
|  |             "version": "2.3.2", | ||||||
|  |             "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", | ||||||
|  |             "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", | ||||||
|  |             "dev": true, | ||||||
|  |             "hasInstallScript": true, | ||||||
|  |             "license": "MIT", | ||||||
|  |             "optional": true, | ||||||
|  |             "os": [ | ||||||
|  |                 "darwin" | ||||||
|  |             ], | ||||||
|  |             "engines": { | ||||||
|  |                 "node": "^8.16.0 || ^10.6.0 || >=11.0.0" | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|         "node_modules/postcss": { |         "node_modules/postcss": { | ||||||
|             "version": "8.5.3", |             "version": "8.5.3", | ||||||
|             "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", |             "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", | ||||||
|  | @ -8518,6 +8833,21 @@ | ||||||
|                 "fsevents": "~2.3.2" |                 "fsevents": "~2.3.2" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|  |         "node_modules/rollup/node_modules/@rollup/rollup-darwin-arm64": { | ||||||
|  |             "version": "4.38.0", | ||||||
|  |             "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.38.0.tgz", | ||||||
|  |             "integrity": "sha512-buA17AYXlW9Rn091sWMq1xGUvWQFOH4N1rqUxGJtEQzhChxWjldGCCup7r/wUnaI6Au8sKXpoh0xg58a7cgcpg==", | ||||||
|  |             "cpu": [ | ||||||
|  |                 "arm64" | ||||||
|  |             ], | ||||||
|  |             "dev": true, | ||||||
|  |             "license": "MIT", | ||||||
|  |             "optional": true, | ||||||
|  |             "os": [ | ||||||
|  |                 "darwin" | ||||||
|  |             ], | ||||||
|  |             "peer": true | ||||||
|  |         }, | ||||||
|         "node_modules/router": { |         "node_modules/router": { | ||||||
|             "version": "2.2.0", |             "version": "2.2.0", | ||||||
|             "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", |             "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", | ||||||
|  |  | ||||||
		Reference in a new issue
	
	 Joyelle Ndagijimana
						Joyelle Ndagijimana