From 0e51451ad2b34f15c38d17301f9596196e22517a Mon Sep 17 00:00:00 2001 From: nquidox Date: Sun, 2 Nov 2025 19:49:06 +0300 Subject: [PATCH] messages added --- src/stores/authStore.js | 1 + src/views/LoginView.vue | 46 +++++++++++++++++++++++++++++++++++------ 2 files changed, 41 insertions(+), 6 deletions(-) diff --git a/src/stores/authStore.js b/src/stores/authStore.js index cede1f1..977cd25 100644 --- a/src/stores/authStore.js +++ b/src/stores/authStore.js @@ -58,6 +58,7 @@ export const useAuthStore = defineStore('auth', () => { router.push({ name: 'collection'}) } catch (error) { console.error('Login error:', error) + throw error } } diff --git a/src/views/LoginView.vue b/src/views/LoginView.vue index 0a2015e..756bb8d 100644 --- a/src/views/LoginView.vue +++ b/src/views/LoginView.vue @@ -2,16 +2,23 @@ import { reactive, ref } from 'vue' import { useAuthStore } from '@/stores/authStore.js' import { storeToRefs } from 'pinia' +import { useMessage } from 'naive-ui' const store = useAuthStore() +const messages = useMessage() const { activeTab } = storeToRefs(store) const signInEmail = ref('') const signInPassword = ref('') -const onSignIn = () => { - store.login(signInEmail.value, signInPassword.value) +const onSignIn = async () => { + try{ + await store.login(signInEmail.value, signInPassword.value) + messages.success('Login success') + } catch (error) { + messages.error("Login error") + } } const signUp = reactive({ @@ -20,8 +27,35 @@ const signUp = reactive({ reenterPassword: '', }) -const onSignUp = () => { - store.register(signUp.email, signUp.password) +const onSignUp = async () => { + if (!signUp.email.trim()) { + messages.error('Email is required') + return + } + + const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/ + if (!emailRegex.test(signUp.email)) { + messages.error('Please enter a valid email address') + return + } + + if (!signUp.password.trim()) { + messages.error('Password is required') + return + } + + if (signUp.password !== signUp.reenterPassword) { + messages.error('Passwords do not match') + return + } + + try{ + await store.register(signUp.email, signUp.password) + messages.success('Register success') + activeTab.value = 'signin' + } catch (error) { + messages.error("Register error") + } } @@ -43,7 +77,7 @@ const onSignUp = () => { - Sign In + Sign In @@ -58,7 +92,7 @@ const onSignUp = () => { - Sign up + Sign up