From 4cfcaac1cc7943b37897e1f41b456884b01dc34f Mon Sep 17 00:00:00 2001 From: Alice Gaudon Date: Sun, 6 Mar 2022 18:55:06 +0100 Subject: [PATCH] fix(front/forms): simplify and fix usage of flashed previousFormData and validation errors --- src/assets/views/auth/auth.svelte | 2 +- src/assets/views/utils/Field.svelte | 4 ++-- src/components/FormHelperComponent.ts | 13 ------------- 3 files changed, 3 insertions(+), 16 deletions(-) diff --git a/src/assets/views/auth/auth.svelte b/src/assets/views/auth/auth.svelte index 909c7ce..876af2a 100644 --- a/src/assets/views/auth/auth.svelte +++ b/src/assets/views/auth/auth.svelte @@ -6,7 +6,7 @@ import Icon from "../utils/Icon.svelte"; import {hasRoute, route} from "../../../common/Routing"; - let registerUsingMagicLink = $locals.previousFormData?.['auth_method'] !== 'password'; + let registerUsingMagicLink = $locals.flash.previousFormData?.[0]?.['auth_method'] !== 'password'; let loginUsingMagicLink = true; let queryStr = ''; diff --git a/src/assets/views/utils/Field.svelte b/src/assets/views/utils/Field.svelte index ead3ba1..8c0e38f 100644 --- a/src/assets/views/utils/Field.svelte +++ b/src/assets/views/utils/Field.svelte @@ -15,12 +15,12 @@ export let hint: string | undefined = undefined; export let extraData: string[] | undefined = undefined; export let icon: string | undefined = undefined; - export let validation = $locals.validation?.[name] as { message: string, value?: string } | undefined; + export let validation = $locals.flash.validation?.[0]?.[name] as { message: string, value?: string } | undefined; const formId = getContext('formId'); const fieldId = `${formId}-${name}-field`; - const previousFormData = $locals.previousFormData as FieldValue | undefined || []; + const previousFormData = $locals.flash.previousFormData?.[0] as Record | undefined || {}; let previousFieldData = previousFormData[name]; if (typeof value === 'number' && previousFieldData) previousFieldData = Number(previousFieldData); diff --git a/src/components/FormHelperComponent.ts b/src/components/FormHelperComponent.ts index d7fd071..7608f24 100644 --- a/src/components/FormHelperComponent.ts +++ b/src/components/FormHelperComponent.ts @@ -5,19 +5,6 @@ import ApplicationComponent from "../ApplicationComponent.js"; export default class FormHelperComponent extends ApplicationComponent { public async initRoutes(router: Router): Promise { - router.use((req, res, next) => { - res.setLazyLocal('validation', () => { - const validation = req.flash('validation'); - return validation.length > 0 ? validation[0] : null; - }); - - res.setLazyLocal('previousFormData', () => { - const previousFormData = req.flash('previousFormData'); - return previousFormData.length > 0 ? previousFormData[0] : null; - }); - next(); - }); - router.use((req, res, next) => { if (['GET', 'POST'].find(m => m === req.method)) { if (typeof req.body === 'object' && Object.keys(req.body).length > 0) {