From ffd6cfd9c0449be9137650eb8a62fbb94faab71f Mon Sep 17 00:00:00 2001 From: Braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Thu, 7 Jul 2022 11:47:15 +0200 Subject: [PATCH] feat(gui-v2): add form validation rules & update styles Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com> --- packages/nc-gui-v2/pages/signin.vue | 56 +++++++++++++++++++++-------- packages/nc-gui-v2/windi.config.ts | 37 ++++++++++++++++++- 2 files changed, 78 insertions(+), 15 deletions(-) diff --git a/packages/nc-gui-v2/pages/signin.vue b/packages/nc-gui-v2/pages/signin.vue index 6bddce6b40..b09764b9d7 100644 --- a/packages/nc-gui-v2/pages/signin.vue +++ b/packages/nc-gui-v2/pages/signin.vue @@ -7,7 +7,8 @@ import { isEmail } from '~/utils/validation' import MdiLogin from '~icons/mdi/login' import MaterialSymbolsWarning from '~icons/material-symbols/warning' -const { $api, $state } = useNuxtApp() +const { $api, $state } = $(useNuxtApp()) + const { t } = useI18n() useHead({ @@ -21,10 +22,12 @@ useHead({ ], }) -const error = ref() +let error = $ref(null) const valid = ref() +const formValidator = ref() + const form = reactive({ email: '', password: '', @@ -44,17 +47,24 @@ const formRules = { } const signIn = async () => { - error.value = null + error = null try { const { token } = await $api.auth.signin(form) - $state.value.token = token - $state.value.user = { email: form.email } + + $state.token = token + $state.user = { email: form.email } + await navigateTo('/projects') } catch (e: any) { // todo: errors should not expose what was wrong (i.e. do not show "Password is wrong" messages) - error.value = await extractSdkResponseErrorMsg(e) + error = await extractSdkResponseErrorMsg(e) } } + +const resetError = () => { + formValidator.value.reset() + error = null +}