diff --git a/src/stores/authStore.js b/src/stores/authStore.js index 0ad680a..3da2d35 100644 --- a/src/stores/authStore.js +++ b/src/stores/authStore.js @@ -71,9 +71,11 @@ export const useAuthStore = defineStore( token: accessToken }) updateTokens(response.data) + return true } catch (error) { console.error(error) cleanTokens() + return false } } diff --git a/src/stores/creatorProfileStore.js b/src/stores/creatorProfileStore.js index 61d7a0b..133de87 100644 --- a/src/stores/creatorProfileStore.js +++ b/src/stores/creatorProfileStore.js @@ -3,17 +3,28 @@ import {defineStore} from 'pinia' import {useAuthStore} from "@/stores/authStore.js"; import {useClient} from "@/plugins/api.js"; import {useSessionStorage} from "@vueuse/core"; +import {useRouter} from "vue-router"; + export const useCreatorProfileStore = defineStore( 'creator-profile', () => { + + const router = useRouter() + const authStore = useAuthStore() - const authWatcher = watch( + watch( () => authStore.isAuthenticated, async (newValue) => { if (newValue) { await fetchCurrentCreatorProfile() + + if (value.value === undefined) { + await router.push('/') + } else { + await router.push(`/@${value.value.name}`) + } } else { value.value = undefined } diff --git a/src/views/LoginView.vue b/src/views/LoginView.vue index 79f5a49..a83be1a 100644 --- a/src/views/LoginView.vue +++ b/src/views/LoginView.vue @@ -10,7 +10,7 @@
Cette application est actuellement en version Alpha et en cours de développement. Nous faisons de notre mieux pour éviter toute perte de données, mais son utilisation reste à vos risques.
- +
@@ -22,7 +22,4 @@ import { useRouter } from 'vue-router'; const router = useRouter(); -const handleSuccess = async () => { - await router.push('/') -} diff --git a/src/views/main/LoginForm.vue b/src/views/main/LoginForm.vue index 826aee2..0448202 100644 --- a/src/views/main/LoginForm.vue +++ b/src/views/main/LoginForm.vue @@ -49,17 +49,6 @@ const errorSnackBar = ref(false); const showEmailForm = ref(false); const showPassword = ref(false); -const props = defineProps({ - onSuccess: { - type: Function, - required: true - }, - onFailure: { - type: Function, - required: false - } -}); - async function googleCallback(token) { const response = await authStore.loginWithGoogle(JSON.stringify(token)); handleResponse(response) @@ -71,12 +60,7 @@ async function login() { } function handleResponse(response) { - if (response === true) { - props.onSuccess(); - } else { - if (props.onFailure) { - props.onFailure(); - } + if (response !== true) { errorSnackBar.value = true; } }