diff --git a/wp-content/themes/moonshine/app/composables/useAuthConnexion.ts b/wp-content/themes/moonshine/app/composables/useAuthConnexion.ts index 3d0a313..2f670d3 100644 --- a/wp-content/themes/moonshine/app/composables/useAuthConnexion.ts +++ b/wp-content/themes/moonshine/app/composables/useAuthConnexion.ts @@ -3,6 +3,7 @@ import type { FormSubmitEvent } from "@nuxt/ui"; const isRedirecting = ref(false); export function useAuthConnexion() { + const toast = useToast(); const { fetch: refreshUserSession } = useUserSession(); const routeRedirect = useRoute().query.redirect as string || undefined; @@ -21,10 +22,22 @@ export function useAuthConnexion() { if (!success) { throw new Error(message); } + toast.add({ + title: "Connexion réussie", + color: "success", + description: message, + duration: 3000, + }); await redirectTo(redirect); } catch (error) { console.log(error); + toast.add({ + title: "Erreur de connexion", + color: "error", + description: error instanceof Error ? error.message : "Une erreur est survenue lors de la connexion.", + duration: 5000, + }); } } @@ -35,10 +48,22 @@ export function useAuthConnexion() { if (!result.success) { throw new Error("Échec de la déconnexion."); } + toast.add({ + title: "Déconnexion réussie", + color: "success", + description: "Vous avez été déconnecté avec succès.", + duration: 3000, + }); await redirectTo(redirect); } catch (error) { console.log(error); + toast.add({ + title: "Erreur de déconnexion", + color: "error", + description: error instanceof Error ? error.message : "Une erreur est survenue lors de la déconnexion.", + duration: 5000, + }); } } diff --git a/wp-content/themes/moonshine/server/api/login.post.ts b/wp-content/themes/moonshine/server/api/login.post.ts index 2faa3e1..113dfce 100644 --- a/wp-content/themes/moonshine/server/api/login.post.ts +++ b/wp-content/themes/moonshine/server/api/login.post.ts @@ -1,17 +1,21 @@ export default defineEventHandler(async (event) => { try { const variables = await readBody(event); - const { data, error } = await useServerGraphQLMutation(event, "AuthLogin", variables); + const { data } = await useServerGraphQLMutation(event, "AuthLogin", variables); if (!data?.login) { - throw new Error(error?.message || "Une erreur est survenue lors de la connexion."); + throw new Error("INVALID_LOGIN"); } if (!await handleLogin(event, data)) { - throw new Error("Échec de la connexion."); + throw new Error("LOGIN_FAILED"); } return { success: true, message: "Connexion réussie" }; } catch (error) { - const message = error instanceof Error ? error.message : "Une erreur est survenue lors de la déconnexion."; - return { success: false, message }; + const messages = { + INVALID_LOGIN: "Identifiants invalides. Veuillez réessayer.", + LOGIN_FAILED: "Une erreur est survenue lors de la connexion. Veuillez réessayer plus tard.", + }; + const message = (error instanceof Error && error.message in messages) ? error.message : "LOGIN_FAILED"; + return { success: false, message: messages[message as keyof typeof messages] }; } });