diff --git a/frontend/src/app.d.ts b/frontend/src/app.d.ts index 663579e..4753812 100644 --- a/frontend/src/app.d.ts +++ b/frontend/src/app.d.ts @@ -73,6 +73,7 @@ declare global { interface Locals { user: User; subscriptions: Subscription[]; + licence_categories: LicenceCategory[]; } // interface PageData {} // interface Platform {} diff --git a/frontend/src/hooks.server.js b/frontend/src/hooks.server.js index 046ff59..ca883c4 100644 --- a/frontend/src/hooks.server.js +++ b/frontend/src/hooks.server.js @@ -46,6 +46,8 @@ export async function handle({ event, resolve }) { event.locals.subscriptions = data.subscriptions; event.locals.user = data.user; + event.locals.licence_categories = data.licence_categories; + console.dir(event.locals.licence_categories); if (event.locals.user.date_of_birth) { event.locals.user.date_of_birth = event.locals.user.date_of_birth.split("T")[0]; diff --git a/frontend/src/lib/components/InputField.svelte b/frontend/src/lib/components/InputField.svelte index 89ac750..7acf734 100644 --- a/frontend/src/lib/components/InputField.svelte +++ b/frontend/src/lib/components/InputField.svelte @@ -32,6 +32,9 @@ /** @type {boolean} */ export let toUpperCase = false; + /** @type {boolean} */ + export let checked = false; + /** * @param {Event} event - The input event */ @@ -97,6 +100,11 @@ /^[A-Z]{6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3})?$/.test(value) ? null : $t("validation.bic"); + case "licence_number": + return typeof value === "string" && value.length == 11 + ? null + : $t("validation.drivers_licence"); + default: return typeof value === "string" && !value.trim() && required ? $t("validation.required") @@ -109,8 +117,21 @@ $: selectedColor = selectedOption ? selectedOption.color : ""; -