diff --git a/core/src/models/candidate.rs b/core/src/models/candidate.rs index 08a16ae..7229137 100644 --- a/core/src/models/candidate.rs +++ b/core/src/models/candidate.rs @@ -67,10 +67,10 @@ pub struct CandidateDetails { pub name: String, #[validate(length(min = 1, max = 255))] pub surname: String, - #[validate(length(min = 1, max = 255))] pub birth_surname: String, #[validate(length(min = 1, max = 255))] pub birthplace: String, + // NaiveDate validated natively pub birthdate: NaiveDate, #[validate(length(min = 1, max = 255))] pub address: String, @@ -91,6 +91,7 @@ pub struct CandidateDetails { pub grades: GradeList, pub first_school: School, pub second_school: School, + #[validate(length(min = 1, max = 255))] pub test_language: String, } impl CandidateDetails { diff --git a/frontend/.typesafe-i18n.json b/frontend/.typesafe-i18n.json index 12eb8a1..7511ef9 100644 --- a/frontend/.typesafe-i18n.json +++ b/frontend/.typesafe-i18n.json @@ -1,7 +1,7 @@ { - "baseLocale": "cs", - "adapter": "svelte", - "esmImports": true, - "outputPath": "./src/translations", - "$schema": "https://unpkg.com/typesafe-i18n@5.20.0/schema/typesafe-i18n.json" -} \ No newline at end of file + "baseLocale": "cs", + "adapter": "svelte", + "esmImports": true, + "outputPath": "./src/translations", + "$schema": "https://unpkg.com/typesafe-i18n@5.20.0/schema/typesafe-i18n.json" +} diff --git a/frontend/static/schoollist.txt b/frontend/src/lib/assets/schoollist.txt similarity index 100% rename from frontend/static/schoollist.txt rename to frontend/src/lib/assets/schoollist.txt diff --git a/frontend/src/lib/components/checkbox/GdprCheckBox.svelte b/frontend/src/lib/components/checkbox/GdprCheckBox.svelte index 90aa6cd..19a4998 100644 --- a/frontend/src/lib/components/checkbox/GdprCheckBox.svelte +++ b/frontend/src/lib/components/checkbox/GdprCheckBox.svelte @@ -13,7 +13,9 @@
{$LL.components.checkbox.gdprCheckBox.title()}
{$LL.components.checkbox.gdprCheckBox.description()}
-
{$LL.components.checkbox.gdprCheckBox.here()}
+
+ {$LL.components.checkbox.gdprCheckBox.here()} +
diff --git a/frontend/src/lib/components/checkbox/PersonalIdConfirmCheckBox.svelte b/frontend/src/lib/components/checkbox/PersonalIdConfirmCheckBox.svelte index d0efed5..5d04c01 100644 --- a/frontend/src/lib/components/checkbox/PersonalIdConfirmCheckBox.svelte +++ b/frontend/src/lib/components/checkbox/PersonalIdConfirmCheckBox.svelte @@ -5,10 +5,10 @@ export let personalIdErr: boolean = false; export let personalIdNumber: string; let titleOk = $LL.components.checkbox.personalIdConfirmCheckBox.titleOk({ - personalId: personalIdNumber, + personalId: personalIdNumber }); let titleErr = $LL.components.checkbox.personalIdConfirmCheckBox.titleErr({ - personalId: personalIdNumber, + personalId: personalIdNumber }); export let error: string = ''; @@ -61,7 +61,9 @@
{titleErr}
-
{$LL.components.checkbox.personalIdConfirmCheckBox.whatHappened()}
+
+ {$LL.components.checkbox.personalIdConfirmCheckBox.whatHappened()} +
diff --git a/frontend/src/lib/components/dashboard/DashboardInfoCard.svelte b/frontend/src/lib/components/dashboard/DashboardInfoCard.svelte index 1dae389..ff635f4 100644 --- a/frontend/src/lib/components/dashboard/DashboardInfoCard.svelte +++ b/frontend/src/lib/components/dashboard/DashboardInfoCard.svelte @@ -160,30 +160,33 @@ {$baseCandidateData.applications[1]} {/if} - {$LL.input.address()}: {$candidateData.candidate.address} {$LL.input.birthDate()}: {$candidateData.candidate.birthdate}{$LL.input.address()}: + {$candidateData.candidate.address} {$LL.input.birthPlace()}: {$candidateData.candidate.birthplace}{$LL.input.birthDate()}: + {$candidateData.candidate.birthdate} {$LL.input.personalIdentificationNumber()}: {$candidateData.candidate.personalIdNumber}{$LL.input.birthPlace()}: + {$candidateData.candidate.birthplace} {$LL.input.schoolIzo()}: {$candidateData.candidate.schoolName}{$LL.input.personalIdentificationNumber()}: + {$candidateData.candidate.personalIdNumber} {$LL.input.insuranceNumber()}: {$candidateData.candidate.healthInsurance}{$LL.input.schoolIzo()}: + {$candidateData.candidate.schoolName} - {$LL.input.telephone()}: {$candidateData.candidate.telephone}{$LL.input.insuranceNumber()}: + {$candidateData.candidate.healthInsurance} + {$LL.input.telephone()}: + {$candidateData.candidate.telephone}
{parent.name + ' ' + parent.surname} {$LL.input.email()}: {parent.email} - {$LL.input.telephone()}: {parent.telephone} + {$LL.input.telephone()}: {parent.telephone}
{/each} diff --git a/frontend/src/lib/components/dashboard/DashboardUploadCard.svelte b/frontend/src/lib/components/dashboard/DashboardUploadCard.svelte index 9541b93..b1aefa8 100644 --- a/frontend/src/lib/components/dashboard/DashboardUploadCard.svelte +++ b/frontend/src/lib/components/dashboard/DashboardUploadCard.svelte @@ -105,7 +105,8 @@ {#if status === 'uploaded'} dispatch('delete'), 150)} + >{$LL.components.dashboard.dashboardUploadCard.delete()} {/if} @@ -133,9 +134,16 @@ > diff --git a/frontend/src/lib/components/grades/GradesTable.svelte b/frontend/src/lib/components/grades/GradesTable.svelte index 165fd4c..0628d1e 100644 --- a/frontend/src/lib/components/grades/GradesTable.svelte +++ b/frontend/src/lib/components/grades/GradesTable.svelte @@ -29,7 +29,7 @@ } return grades; }; - + let gradesLocal: Array = grades.length > 0 ? convertGradeBackendToGrade(grades) diff --git a/frontend/src/lib/components/layout/SplitLayout.svelte b/frontend/src/lib/components/layout/SplitLayout.svelte index 5726f5c..779d0b6 100644 --- a/frontend/src/lib/components/layout/SplitLayout.svelte +++ b/frontend/src/lib/components/layout/SplitLayout.svelte @@ -49,8 +49,8 @@ } .view { @apply z-10; - @apply absolute top-0 right-0 bottom-0 m-auto md:top-auto md:bottom-auto md:left-auto md:m-0; - @apply md:h-screen md:w-[75vw]; + @apply absolute top-0 right-0 bottom-0 left-0 m-auto md:top-auto md:bottom-auto md:left-auto md:m-0; + @apply md:h-screen md:w-[60vw]; @apply md:my-auto; @apply bg-white; } diff --git a/frontend/src/lib/components/select/SchoolSelect/School.svelte b/frontend/src/lib/components/select/SchoolSelect/School.svelte new file mode 100644 index 0000000..2153e34 --- /dev/null +++ b/frontend/src/lib/components/select/SchoolSelect/School.svelte @@ -0,0 +1,41 @@ + + +
  • + {@html itemLabel} +
  • + + diff --git a/frontend/src/lib/components/select/SchoolSelect/SchoolSelect.svelte b/frontend/src/lib/components/select/SchoolSelect/SchoolSelect.svelte new file mode 100644 index 0000000..220fcd8 --- /dev/null +++ b/frontend/src/lib/components/select/SchoolSelect/SchoolSelect.svelte @@ -0,0 +1,145 @@ + + + + +
    +
    + + +
    + {#if filteredSchools.length > 0} +
      + {#each filteredSchools as country, i} + setInputVal(country)} + /> + {/each} +
    + {/if} +
    + + diff --git a/frontend/src/lib/stores/candidate.ts b/frontend/src/lib/stores/candidate.ts index dd60ee9..4038e5b 100644 --- a/frontend/src/lib/stores/candidate.ts +++ b/frontend/src/lib/stores/candidate.ts @@ -1,7 +1,6 @@ import type { GradeBackend } from '$lib/components/grades/GradesTable.svelte'; import { writable } from 'svelte/store'; - export interface School { name: string; field: string; @@ -90,8 +89,8 @@ export const candidateData = writable({ schoolName: '', healthInsurance: '', grades: [], - firstSchool: {name: '', field: ''}, - secondSchool: {name: '', field: ''}, + firstSchool: { name: '', field: '' }, + secondSchool: { name: '', field: '' }, testLanguage: '' }, parents: [] diff --git a/frontend/src/lib/utils/personalIdFormat.ts b/frontend/src/lib/utils/personalIdFormat.ts index 2cb6282..e278067 100644 --- a/frontend/src/lib/utils/personalIdFormat.ts +++ b/frontend/src/lib/utils/personalIdFormat.ts @@ -1,73 +1,78 @@ // TODO: nefunguje pro lidi nar. pred 1.1.1954 :D export const isPersonalIdNumberValid = (personalIdNumber: string): boolean => { - const idFmt = personalIdNumber.split('/').join(''); + const idFmt = personalIdNumber.split('/').join(''); - const lastDigitCheck = - Number(idFmt.slice(0, 9)) % 11 === Number(idFmt.at(-1)) || - Number(idFmt.slice(0, 9)) % 11 === 10; // an edge case that could occur - const divisibleBy11 = Number(idFmt) % 11 === 0; + const lastDigitCheck = + Number(idFmt.slice(0, 9)) % 11 === Number(idFmt.at(-1)) || + Number(idFmt.slice(0, 9)) % 11 === 10; // an edge case that could occur + const divisibleBy11 = Number(idFmt) % 11 === 0; - if (lastDigitCheck && divisibleBy11) { - return true; - } else { - return false; - } + if (lastDigitCheck && divisibleBy11) { + return true; + } else { + return false; + } }; export const isPersonalIdNumberWithBirthdateValid = ( - personalIdNumber: string, - birthdate: string + personalIdNumber: string, + birthdate: string ): boolean => { - const dateFmt = birthdate - .split('.') - .map((x) => x.padStart(2, '0')) - .reverse() - .join('') - .slice(2); - const idFmt = personalIdNumber.split('/').join(''); + const dateFmt = birthdate + .split('.') + .map((x) => x.padStart(2, '0')) + .reverse() + .join('') + .slice(2); + const idFmt = personalIdNumber.split('/').join(''); - const divisionValid = isPersonalIdNumberValid(personalIdNumber); + const divisionValid = isPersonalIdNumberValid(personalIdNumber); - const idMonth = Number(idFmt.slice(2, 4)); - const dateMonth = Number(dateFmt.slice(2, 4)); - const monthValid = - idMonth === dateMonth || - idMonth === dateMonth + 50 || - idMonth === dateMonth + 20 || - idMonth === dateMonth + 70; + const idMonth = Number(idFmt.slice(2, 4)); + const dateMonth = Number(dateFmt.slice(2, 4)); + const monthValid = + idMonth === dateMonth || + idMonth === dateMonth + 50 || + idMonth === dateMonth + 20 || + idMonth === dateMonth + 70; - if ( - idFmt.slice(0, 2) === dateFmt.slice(0, 2) && - monthValid && - idFmt.slice(4, 6) === dateFmt.slice(4, 6) && - divisionValid - ) { - return true; - } else { - return false; - } + if ( + idFmt.slice(0, 2) === dateFmt.slice(0, 2) && + monthValid && + idFmt.slice(4, 6) === dateFmt.slice(4, 6) && + divisionValid + ) { + return true; + } else { + return false; + } }; -export const deriveBirthdateFromPersonalId = (personalIdNumber: string): - [birthdate: string, sex: 'MUŽ' | 'ŽENA'] => { - const year = Number(personalIdNumber.slice(0, 2)); - const idMonth = Number(personalIdNumber.slice(2, 4)); - let month; - let sex: 'MUŽ' | 'ŽENA'; - if (idMonth > 12 && idMonth <= 32) { - month = idMonth - 20; - sex = 'MUŽ'; - } else if (idMonth > 50 && idMonth <= 52) { - month = idMonth - 50; - sex = 'ŽENA'; - } else if (idMonth > 70 && idMonth <= 82) { - month = idMonth - 70; - sex = 'ŽENA'; - } else { - month = idMonth; - sex = 'MUŽ'; - }; - const day = Number(personalIdNumber.slice(4, 6)); +export const deriveBirthdateFromPersonalId = ( + personalIdNumber: string +): [birthdate: string, sex: 'MUŽ' | 'ŽENA'] => { + const year = Number(personalIdNumber.slice(0, 2)); + const idMonth = Number(personalIdNumber.slice(2, 4)); + let month; + let sex: 'MUŽ' | 'ŽENA'; + if (idMonth > 12 && idMonth <= 32) { + month = idMonth - 20; + sex = 'MUŽ'; + } else if (idMonth > 50 && idMonth <= 52) { + month = idMonth - 50; + sex = 'ŽENA'; + } else if (idMonth > 70 && idMonth <= 82) { + month = idMonth - 70; + sex = 'ŽENA'; + } else { + month = idMonth; + sex = 'MUŽ'; + } + const day = Number(personalIdNumber.slice(4, 6)); + + const birthdate = `${day}.${month}.${year}`; + return [birthdate, sex]; +}; const birthdate = `${day}.${month}.${year}`; return [birthdate, sex]; diff --git a/frontend/src/routes/(admin)/admin/(authenticated)/candidate/[code=application]/+page.server.ts b/frontend/src/routes/(admin)/admin/(authenticated)/candidate/[code=application]/+page.server.ts index 5bc7eea..15c6959 100644 --- a/frontend/src/routes/(admin)/admin/(authenticated)/candidate/[code=application]/+page.server.ts +++ b/frontend/src/routes/(admin)/admin/(authenticated)/candidate/[code=application]/+page.server.ts @@ -23,8 +23,8 @@ export const load: PageServerLoad = async ({ fetch, params }) => { schoolName: '', healthInsurance: '', grades: [], - firstSchool: {name: '', field: ''}, - secondSchool: {name: '', field: ''}, + firstSchool: { name: '', field: '' }, + secondSchool: { name: '', field: '' }, testLanguage: '' }, parents: [] diff --git a/frontend/src/routes/(candidate)/(authenticated)/register/+page.svelte b/frontend/src/routes/(candidate)/(authenticated)/register/+page.svelte index da3c496..31c8c75 100644 --- a/frontend/src/routes/(candidate)/(authenticated)/register/+page.svelte +++ b/frontend/src/routes/(candidate)/(authenticated)/register/+page.svelte @@ -111,6 +111,7 @@ .string() .required() .matches(/^([0-3]?[0-9])\.(0?[1-9]|1[0-2])\.[0-9]{4}$/), + birthSurname: yup.string().required(), sex: yup.string(), address: yup.string(), street: yup.string().required(), @@ -136,16 +137,17 @@ semester: yup.string().required() }) .required() - ).required(), + ) + .required(), firstSchool: yup.object().shape({ name: yup.string().required(), - field: yup.string().required(), + field: yup.string().required() }), secondSchool: yup.object().shape({ name: yup.string().required(), - field: yup.string().required(), + field: yup.string().required() }), - testLanguage: yup.string().required(), + testLanguage: yup.string().required() }), parents: yup.array().of( yup.object().shape({ @@ -186,7 +188,12 @@ unknown > ? { - [K2 in keyof (typeof formInitialValues)[K]]: string; + [K2 in keyof (typeof formInitialValues)[K]]: (typeof formInitialValues)[K][K2] extends Record< + string, + unknown + > + ? { [K4 in keyof (typeof formInitialValues)[K][K2]]: string } + : string; } : (typeof formInitialValues)[K] extends Array> ? Array<{ [K3 in keyof (typeof formInitialValues)[K][number]]: string }> @@ -276,8 +283,8 @@ const isPageInvalid = (index: number): boolean => { switch (index) { - case 0: - if ($typedErrors['personalIdOk'] || $typedErrors['personalIdErr']) { + case 0: + if ($typedErrors['personalIdOk'] || $typedErrors['personalIdErr']) { return true; } break; @@ -363,7 +370,7 @@ return '+' + telephone.match(/[0-9]{1,3}/g)!.join(' '); }; - + // TODO /* $form.candidate.personalIdNumber = data.whoami.personalIdNumber; const [birthdate, sex] = deriveBirthdateFromPersonalId(data.whoami.personalIdNumber); $form.candidate.birthdate = birthdate; @@ -376,6 +383,7 @@ details.parents.map( (x) => (x.telephone = x.telephone != '' ? formatTelephone(x.telephone) : '') ); + form.set({ gdpr: true, linkOk: true, @@ -414,16 +422,12 @@
    - - {#if pageIndex !== 0 && pageIndex !== 7} -
    - -
    - {/if} +
    + +
    + error={$typedErrors['candidate']['city']} + bind:value={$form.candidate.city} + type="text" + placeholder={$LL.input.city()} + helperText="Uveďte poštovní směrovací číslo. (např. 602 00)" + />
    @@ -522,7 +527,7 @@ $typedErrors['candidate']['houseNumber']} bind:valueName={$form.candidate.street} bind:valueSurname={$form.candidate.houseNumber} - placeholder="Ulice a č. p." + placeholder={$LL.input.address()} helperText="Uveďte ulici a číslo popisné (např. Preslova 72)." /> @@ -531,7 +536,7 @@ error={$typedErrors['candidate']['zip']} bind:value={$form.candidate.zip} type="number" - placeholder="PSČ" + placeholder={$LL.input.zipCode()} helperText="Uveďte poštovní směrovací číslo. (např. 602 00)" /> @@ -541,19 +546,18 @@ {:else if pageIndex === 4}

    {pageTexts[2]}

    - Pro registraci je potřeba vyplnit několik údajů o Vás. Tyto údaje budou použity pro - přijímací řízení. Všechny údaje jsou důležité. + {$LL.candidate.register.fourth.description()}

    - + - +
    + +
    {#if $form.candidate.citizenship === 'Česká republika' || !$form.candidate.citizenship} @@ -608,14 +614,14 @@ error={$typedErrors['candidate']['schoolName']} type="number" bind:value={$form.candidate.schoolName} - placeholder="IZO školy" + placeholder={$LL.input.schoolIzo()} /> {:else} {/if} @@ -625,11 +631,10 @@ error={$typedErrors['candidate']['healthInsurance']} type="text" bind:value={$form.candidate.healthInsurance} - placeholder="Číslo zdravotní pojišťovny" + placeholder={$LL.input.insuranceNumber()} />
    - {:else if pageIndex === 5}

    {pageTexts[3]}

    @@ -689,13 +694,24 @@

    {:else if pageIndex === 7} -

    Přihlášky na školy

    -
    - - +

    {pageTexts[5]}

    +

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

    +
    + + - - + +
    {:else if pageIndex === 8} diff --git a/frontend/src/routes/(candidate)/auth/login/+page.svelte b/frontend/src/routes/(candidate)/auth/login/+page.svelte index 05045e4..6920fa8 100644 --- a/frontend/src/routes/(candidate)/auth/login/+page.svelte +++ b/frontend/src/routes/(candidate)/auth/login/+page.svelte @@ -25,7 +25,11 @@ {$LL.candidate.auth.login.description()}

    - +
    diff --git a/frontend/src/routes/+layout.ts b/frontend/src/routes/+layout.ts index 62407af..6d0e370 100644 --- a/frontend/src/routes/+layout.ts +++ b/frontend/src/routes/+layout.ts @@ -5,7 +5,7 @@ import type { LayoutLoad } from './$types'; export const load: LayoutLoad = async ({ url }) => { await loadAllLocalesAsync(); setLocale('cs'); - + return { url: url.pathname }; diff --git a/frontend/src/translations/cs/index.ts b/frontend/src/translations/cs/index.ts index 7e2e7c2..77a2197 100644 --- a/frontend/src/translations/cs/index.ts +++ b/frontend/src/translations/cs/index.ts @@ -58,9 +58,9 @@ const cs: BaseTranslation = { 'Zde můžete zadat údaje o druhém zákonném zástupci. Škole tím umožníte lépe komunikovat.' }, seventh: { - title: 'Dokončení registrace', + title: 'Přihlášky na školy', description: - 'Zadejte prosím své občanství, rodné číslo, či jeho alternativu Vaší země a obor na který se hlásíte.' + 'Zde můžete vyplnit přihlášky na školy v pořadí Vašeho výběru. V případě, že jste podali přihlášku na více škol, vyplňte přihlášky na školy v pořadí Vašeho výběru.' }, eighth: { title: 'Poslední krok', @@ -100,7 +100,7 @@ const cs: BaseTranslation = { }, missing: { title: 'Soubory nebyly nahrány!', - description: 'Nahrajte včechny soubory prosím', + description: 'Nahrajte včechny soubory prosím' } } }, @@ -122,7 +122,7 @@ const cs: BaseTranslation = { ok: 'Vše je v pořádku', whatHappened: 'Co se děje?', titleOk: 'Potvrzuji, že moje rodné číslo je {personalId}', - titleErr: 'Ne, moje rodné číslo není {personalId}', + titleErr: 'Ne, moje rodné číslo není {personalId}' }, gdprCheckBox: { title: 'Souhlasím se zpracováním osobních údajů', @@ -134,6 +134,7 @@ const cs: BaseTranslation = { input: { optional: 'nepovinné', nameSurname: 'Jméno a příjmení', + birthSurname: 'Rodné příjmení', email: 'E-mail', telephone: 'Telefon', address: 'Ulice a č. p.', @@ -153,6 +154,8 @@ const cs: BaseTranslation = { password: 'Heslo', submit: 'Odeslat', continue: 'Pokračovat', + fieldOfStudy: 'Obor', + selectedSchool: 'Vybraná škola', parent: { nameSurname: 'Jméno a příjmení zákonného zástupce', email: 'E-mail zákonného zástupce', diff --git a/frontend/src/translations/formatters.ts b/frontend/src/translations/formatters.ts index 9e0741e..0e53a39 100644 --- a/frontend/src/translations/formatters.ts +++ b/frontend/src/translations/formatters.ts @@ -1,11 +1,10 @@ -import type { FormattersInitializer } from 'typesafe-i18n' -import type { Locales, Formatters } from './i18n-types.js' +import type { FormattersInitializer } from 'typesafe-i18n'; +import type { Locales, Formatters } from './i18n-types.js'; export const initFormatters: FormattersInitializer = (locale: Locales) => { - const formatters: Formatters = { // add your formatter functions here - } + }; - return formatters -} + return formatters; +}; diff --git a/frontend/src/translations/i18n-types.ts b/frontend/src/translations/i18n-types.ts index 6af7424..3871ce7 100644 --- a/frontend/src/translations/i18n-types.ts +++ b/frontend/src/translations/i18n-types.ts @@ -129,11 +129,11 @@ type RootTranslation = { } seventh: { /** - * D​o​k​o​n​č​e​n​í​ ​r​e​g​i​s​t​r​a​c​e + * P​ř​i​h​l​á​š​k​y​ ​n​a​ ​š​k​o​l​y */ title: string /** - * Z​a​d​e​j​t​e​ ​p​r​o​s​í​m​ ​s​v​é​ ​o​b​č​a​n​s​t​v​í​,​ ​r​o​d​n​é​ ​č​í​s​l​o​,​ ​č​i​ ​j​e​h​o​ ​a​l​t​e​r​n​a​t​i​v​u​ ​V​a​š​í​ ​z​e​m​ě​ ​a​ ​o​b​o​r​ ​n​a​ ​k​t​e​r​ý​ ​s​e​ ​h​l​á​s​í​t​e​. + * Z​d​e​ ​m​ů​ž​e​t​e​ ​v​y​p​l​n​i​t​ ​p​ř​i​h​l​á​š​k​y​ ​n​a​ ​š​k​o​l​y​ ​v​ ​p​o​ř​a​d​í​ ​V​a​š​e​h​o​ ​v​ý​b​ě​r​u​.​ ​V​ ​p​ř​í​p​a​d​ě​,​ ​ž​e​ ​j​s​t​e​ ​p​o​d​a​l​i​ ​p​ř​i​h​l​á​š​k​u​ ​n​a​ ​v​í​c​e​ ​š​k​o​l​,​ ​v​y​p​l​ň​t​e​ ​p​ř​i​h​l​á​š​k​y​ ​n​a​ ​š​k​o​l​y​ ​v​ ​p​o​ř​a​d​í​ ​V​a​š​e​h​o​ ​v​ý​b​ě​r​u​. */ description: string } @@ -317,6 +317,10 @@ type RootTranslation = { * J​m​é​n​o​ ​a​ ​p​ř​í​j​m​e​n​í */ nameSurname: string + /** + * R​o​d​n​é​ ​p​ř​í​j​m​e​n​í + */ + birthSurname: string /** * E​-​m​a​i​l */ @@ -393,6 +397,14 @@ type RootTranslation = { * P​o​k​r​a​č​o​v​a​t */ 'continue': string + /** + * O​b​o​r + */ + fieldOfStudy: string + /** + * V​y​b​r​a​n​á​ ​š​k​o​l​a + */ + selectedSchool: string parent: { /** * J​m​é​n​o​ ​a​ ​p​ř​í​j​m​e​n​í​ ​z​á​k​o​n​n​é​h​o​ ​z​á​s​t​u​p​c​e @@ -527,11 +539,11 @@ export type TranslationFunctions = { } seventh: { /** - * Dokončení registrace + * Přihlášky na školy */ title: () => LocalizedString /** - * Zadejte prosím své občanství, rodné číslo, či jeho alternativu Vaší země a obor na který se hlásíte. + * Zde můžete vyplnit přihlášky na školy v pořadí Vašeho výběru. V případě, že jste podali přihlášku na více škol, vyplňte přihlášky na školy v pořadí Vašeho výběru. */ description: () => LocalizedString } @@ -708,6 +720,10 @@ export type TranslationFunctions = { * Jméno a příjmení */ nameSurname: () => LocalizedString + /** + * Rodné příjmení + */ + birthSurname: () => LocalizedString /** * E-mail */ @@ -784,6 +800,14 @@ export type TranslationFunctions = { * Pokračovat */ 'continue': () => LocalizedString + /** + * Obor + */ + fieldOfStudy: () => LocalizedString + /** + * Vybraná škola + */ + selectedSchool: () => LocalizedString parent: { /** * Jméno a příjmení zákonného zástupce diff --git a/frontend/svelte.config.js b/frontend/svelte.config.js index a3f4721..d10b6ac 100644 --- a/frontend/svelte.config.js +++ b/frontend/svelte.config.js @@ -1,6 +1,6 @@ import adapter from '@sveltejs/adapter-node'; import preprocess from 'svelte-preprocess'; -import path from "path"; +import path from 'path'; import { windi } from 'svelte-windicss-preprocess'; /** @type {import('@sveltejs/kit').Config} */ @@ -11,9 +11,8 @@ const config = { kit: { adapter: adapter({ out: 'build' }), alias: { - $i18n: path.resolve('./src/translations'), + $i18n: path.resolve('./src/translations') } - } }; diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json index ab896ad..8793475 100644 --- a/frontend/tsconfig.json +++ b/frontend/tsconfig.json @@ -9,6 +9,6 @@ "resolveJsonModule": true, "skipLibCheck": true, "sourceMap": true, - "strict": true, + "strict": true } }