From 802668fb0ba6e485f0a1a6b3aa7d795123f533fc Mon Sep 17 00:00:00 2001 From: Jonathan Bourdon Date: Mon, 4 May 2026 16:13:57 -0400 Subject: [PATCH] feat: add public site pages and social login --- .../auth/composables/useFacebookLogin.js | 37 ++- .../src/features/auth/views/LoginView.vue | 249 ++++++++++++------ .../landing/components/LandingSiteMenu.vue | 113 ++++++++ .../src/features/landing/views/BlogsPage.vue | 52 ++++ .../src/features/landing/views/GuidesPage.vue | 52 ++++ .../src/features/landing/views/Landing.vue | 101 ++++--- .../features/landing/views/PricingPage.vue | 68 +++++ .../features/landing/views/ProductPage.vue | 52 ++++ frontend/src/router/router.js | 24 ++ 9 files changed, 617 insertions(+), 131 deletions(-) create mode 100644 frontend/src/features/landing/components/LandingSiteMenu.vue create mode 100644 frontend/src/features/landing/views/BlogsPage.vue create mode 100644 frontend/src/features/landing/views/GuidesPage.vue create mode 100644 frontend/src/features/landing/views/PricingPage.vue create mode 100644 frontend/src/features/landing/views/ProductPage.vue 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 @@