diff --git a/frontend/src/features/auth/composables/useFacebookLogin.js b/frontend/src/features/auth/composables/useFacebookLogin.js index a91bad9..7820814 100644 --- a/frontend/src/features/auth/composables/useFacebookLogin.js +++ b/frontend/src/features/auth/composables/useFacebookLogin.js @@ -45,23 +45,32 @@ export function useFacebookLogin() { const loginWithFacebook = () => { if (!isSdkLoaded.value) { console.error("Facebook SDK non encore chargé !"); - return; + return Promise.reject(new Error("Facebook SDK is not loaded")); } - window.FB.login( - (response) => { - if (response.authResponse) { - console.log("Utilisateur connecté :", response); - const authStore = useAuthStore(); - authStore.loginWithFacebook(response.authResponse); - } else { - console.log("Connexion annulée ou échouée."); + return new Promise((resolve, reject) => { + window.FB.login( + async (response) => { + if (!response.authResponse) { + console.log("Connexion annulée ou échouée."); + reject(new Error("Facebook login was cancelled or failed")); + return; + } + + try { + console.log("Utilisateur connecté :", response); + const authStore = useAuthStore(); + const result = await authStore.loginWithFacebook(response.authResponse); + resolve(result); + } catch (error) { + reject(error); + } + }, + { + scope: "public_profile,email" } - }, - { - scope: "public_profile,email" - } - ); + ); + }); }; onMounted(() => { diff --git a/frontend/src/features/auth/views/LoginView.vue b/frontend/src/features/auth/views/LoginView.vue index 438cdc3..a3cf655 100644 --- a/frontend/src/features/auth/views/LoginView.vue +++ b/frontend/src/features/auth/views/LoginView.vue @@ -1,94 +1,116 @@