From 9932ce87b7bf0b0dcc6856c5df16873bdf904e8f Mon Sep 17 00:00:00 2001 From: Sebastian Pravda Date: Sat, 4 Feb 2023 15:11:00 +0100 Subject: [PATCH] feat: more tolerant schoolselect search --- .../select/SchoolSelect/SchoolSelect.svelte | 13 +++++- .../(authenticated)/register/+page.svelte | 43 +++++++++++++++++-- 2 files changed, 51 insertions(+), 5 deletions(-) diff --git a/frontend/src/lib/components/select/SchoolSelect/SchoolSelect.svelte b/frontend/src/lib/components/select/SchoolSelect/SchoolSelect.svelte index 220fcd8..8ba52e1 100644 --- a/frontend/src/lib/components/select/SchoolSelect/SchoolSelect.svelte +++ b/frontend/src/lib/components/select/SchoolSelect/SchoolSelect.svelte @@ -13,7 +13,18 @@ let storageArr: Array = []; if (schoolNameInputValue) { schoolList.forEach((school) => { - if (school.toLowerCase().startsWith(schoolNameInputValue.toLowerCase())) { + if ( + school + .toLowerCase() + .normalize('NFD') + .replace(/[\u0300-\u036f]/g, '') + .includes( + schoolNameInputValue + .toLowerCase() + .normalize('NFD') + .replace(/[\u0300-\u036f]/g, '') + ) + ) { storageArr = [...storageArr, makeMatchBold(school)]; } }); diff --git a/frontend/src/routes/(candidate)/(authenticated)/register/+page.svelte b/frontend/src/routes/(candidate)/(authenticated)/register/+page.svelte index b37a10f..e139b50 100644 --- a/frontend/src/routes/(candidate)/(authenticated)/register/+page.svelte +++ b/frontend/src/routes/(candidate)/(authenticated)/register/+page.svelte @@ -27,6 +27,7 @@ import PersonalIdErrorModal from '$lib/components/modal/PersonalIdErrorModal.svelte'; import LinkErrorModal from '$lib/components/modal/LinkErrorModal.svelte'; import type { Writable } from 'svelte/store'; + import schoollistString from '$lib/assets/schoollist.txt?raw'; let pageIndex = 0; let pagesFilled = [false, false, false, false, false, false, false, false]; @@ -146,11 +147,23 @@ ) .required(), firstSchool: yup.object().shape({ - name: yup.string().required(), + name: yup + .string() + .required() + .test((_val) => { + if (!_val) return false; + return schoollistString.split(';').includes(_val); + }), field: yup.string().required() }), secondSchool: yup.object().shape({ - name: yup.string().required(), + name: yup + .string() + .required() + .test((_val) => { + if (!_val) return false; + return schoollistString.split(';').includes(_val); + }), field: yup.string().required() }), testLanguage: yup.string().required() @@ -442,7 +455,10 @@ personalIdNumber={baseCandidateDetails.personalIdNumber} /> {:else if visibleModals.linkErrorModal} - (visibleModals.linkErrorModal = false)} /> + (visibleModals.linkErrorModal = false)} + /> {/if}
@@ -720,18 +736,37 @@
{:else if pageIndex === 7}

{pageTexts[5]}

-

+

{$LL.candidate.register.seventh.description()}

+

+ První škola - termín JPZ: 13. 4. 2023 +

+ + + + + +

+ Druhá škola - termín JPZ: 14. 4. 2023 +