From 0e51451ad2b34f15c38d17301f9596196e22517a Mon Sep 17 00:00:00 2001 From: nquidox Date: Sun, 2 Nov 2025 19:49:06 +0300 Subject: [PATCH 1/2] 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 From 2b088892184db9b18a5206c2a4065b60b7f26b49 Mon Sep 17 00:00:00 2001 From: nquidox Date: Sun, 2 Nov 2025 20:02:05 +0300 Subject: [PATCH 2/2] cache fix --- src/stores/labelsStore.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/stores/labelsStore.js b/src/stores/labelsStore.js index 968d3ff..ab8ef28 100644 --- a/src/stores/labelsStore.js +++ b/src/stores/labelsStore.js @@ -34,7 +34,7 @@ export const useLabelsStore = defineStore('labels', () => { const getLabels = async () => { try { - const response = await apiClient.get('/merch/labels') + const response = await apiClient.get(`/merch/labels?_=${Date.now()}`) const labelList = Array.isArray(response.data) ? response.data : [] labels.value = labelList localStorage.setItem('labels', JSON.stringify(labelList)) @@ -46,7 +46,7 @@ export const useLabelsStore = defineStore('labels', () => { const updateLabel = async (uuid, updatedData) => { try { - await apiClient.put(`/merch/labels/${uuid}`, updatedData) + await apiClient.put(`/merch/labels/${uuid}?_=${Date.now()}`, updatedData) await getLabels() } catch (error) { console.error('Failed to update label:', error)