diff --git a/frontend/src/lib/components/checkbox/GdprCheckBox.svelte b/frontend/src/lib/components/checkbox/GdprCheckBox.svelte
new file mode 100644
index 0000000..0ce3a4e
--- /dev/null
+++ b/frontend/src/lib/components/checkbox/GdprCheckBox.svelte
@@ -0,0 +1,40 @@
+
+
+
+
+
+
diff --git a/frontend/src/routes/(candidate)/(authenticated)/register/+page.svelte b/frontend/src/routes/(candidate)/(authenticated)/register/+page.svelte
index dd3297a..cb27763 100644
--- a/frontend/src/routes/(candidate)/(authenticated)/register/+page.svelte
+++ b/frontend/src/routes/(candidate)/(authenticated)/register/+page.svelte
@@ -2,6 +2,7 @@
import { goto } from '$app/navigation';
import { apiFillDetails } from '$lib/@api/candidate';
import Submit from '$lib/components/button/Submit.svelte';
+ import GdprCheckBox from '$lib/components/checkbox/GdprCheckBox.svelte';
import Home from '$lib/components/icons/Home.svelte';
import SchoolBadge from '$lib/components/icons/SchoolBadge.svelte';
@@ -18,11 +19,12 @@
import type { Writable } from 'svelte/store';
import * as yup from 'yup';
- const pageCount = 4;
+ const pageCount = 5;
let pageIndex = 0;
let pagesFilled = 0;
const formInitialValues = {
+ gdpr: false,
candidate: {
name: '',
surname: '',
@@ -53,6 +55,7 @@
};
const formValidationSchema = yup.object().shape({
+ gdpr: yup.boolean().oneOf([true]),
candidate: yup.object().shape({
name: yup.string().required(),
surname: yup.string(),
@@ -156,6 +159,11 @@
const isPageInvalid = (): boolean => {
switch (pageIndex) {
case 0:
+ if ($typedErrors['gdpr']) {
+ return true;
+ }
+ break;
+ case 1:
if (
$typedErrors['candidate']['name'] ||
$typedErrors['candidate']['email'] ||
@@ -165,7 +173,7 @@
}
break;
- case 1:
+ case 2:
if (
/* $typedErrors.birthdurname || */ $typedErrors['candidate']['birthplace'] ||
$typedErrors['candidate']['birthdate'] ||
@@ -174,7 +182,7 @@
return true;
}
break;
- case 2:
+ case 3:
if (
$typedErrors['parents'][0]['name'] ||
$typedErrors['parents'][0]['surname'] ||
@@ -184,7 +192,7 @@
return true;
}
break;
- case 3:
+ case 4:
if (
$typedErrors['parents'][1]['name'] ||
$typedErrors['parents'][1]['surname'] ||
@@ -194,7 +202,7 @@
return true;
}
break;
- case 4:
+ case 5:
if (
$typedErrors['candidate']['citizenship'] ||
$typedErrors['candidate']['personalIdNumber'] ||
@@ -217,11 +225,26 @@
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Fusce suscipit libero eget elit.
+ Pro registraci je potřeba vyplnit několik údajů o tobě. Tyto údaje budou použity pro
+ přijímací řízení. Všechny údaje jsou důležité a bez nich se registrace nezdaří.
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Fusce suscipit libero eget elit.
+ Sběr dat o zákonném zástupci je klíčový pro získání důležitých kontaktů a informací.
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Fusce suscipit libero eget elit.
+ V případě, že máte druhého zákonného zástupce (např. otec a matka), můžete jej zde zadat.
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Fusce suscipit libero eget elit.
+ Zadejte prosím své občanství, rodné číslo a obor na který se hlásíte.