From 874f893d6dcd4d26fd76c27740cb108a2dffc3f7 Mon Sep 17 00:00:00 2001 From: Clonbg Date: Wed, 5 Feb 2025 20:17:44 +0100 Subject: [PATCH] =?UTF-8?q?authenticaci=C3=B3n=20terminada?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/layouts/MainLayout.vue | 25 +++++++++++-- src/pages/IndexPage.vue | 7 ++-- src/pages/LoginPage.vue | 70 ++++++++++++++++++++++++++++++++----- src/stores/supabaseStore.js | 1 + 4 files changed, 91 insertions(+), 12 deletions(-) diff --git a/src/layouts/MainLayout.vue b/src/layouts/MainLayout.vue index 915c729..b18a167 100644 --- a/src/layouts/MainLayout.vue +++ b/src/layouts/MainLayout.vue @@ -4,10 +4,10 @@ - Quasar App + {{ store.user ? store.user.email : '' }} -
Quasar v{{ $q.version }}
+
Logout
@@ -18,5 +18,26 @@ diff --git a/src/pages/IndexPage.vue b/src/pages/IndexPage.vue index 887f7b2..fee378e 100644 --- a/src/pages/IndexPage.vue +++ b/src/pages/IndexPage.vue @@ -4,14 +4,17 @@

Página principal

+

You are logged in as {{ store.user.email }} +

diff --git a/src/pages/LoginPage.vue b/src/pages/LoginPage.vue index 7e383af..21794eb 100644 --- a/src/pages/LoginPage.vue +++ b/src/pages/LoginPage.vue @@ -7,17 +7,30 @@ - - + + + + + + - +

- Not reigistered? Created an Account
- Not verified? Resend email + Not reigistered? Created an + Account
+ Not verified? Resend + email

@@ -29,14 +42,18 @@ - + - + @@ -46,7 +63,9 @@ :disable="email.length < 3 || password.length < 6 || repassword.length < 6 || password !== repassword" /> -

You are already registered, login now

+

+ You are + already registered?, Login now

@@ -60,7 +79,9 @@ import { ref } from 'vue' import { supabaseStore } from '../stores/supabaseStore' import useSupabase from '../boot/supabase' import { useQuasar } from 'quasar' +import { useRouter } from 'vue-router' +const router = useRouter() const { supabase } = useSupabase() const store = supabaseStore() const $q = useQuasar() @@ -69,6 +90,9 @@ let email = ref('') let password = ref('') let repassword = ref('') let onLogin = ref(true) +let isPwd = ref(true) +let isPwd1 = ref(true) +let isPwd2 = ref(true) const registrar = async () => { try { @@ -94,6 +118,36 @@ const registrar = async () => { alert(error.message) } } + finally { + $q.loading.hide() + } +} + +const login = async () => { + try { + $q.loading.show({ + delay: 200 // ms + }) + const { data, error } = await supabase.auth.signInWithPassword({ + email: email.value, + password: password.value, + }) + //console.log('user', data.user, '\nsession', data.session) + if (error) throw error + if (!data.user.user_metadata.email_verified) throw new Error('User is not verified') + store.user = data.user + store.session = data.session + $q.loading.hide() + router.push('/') + } + catch (error) { + if (error instanceof Error) { + alert(error.message) + } + } + finally { + $q.loading.hide() + } } diff --git a/src/stores/supabaseStore.js b/src/stores/supabaseStore.js index aaa27e2..36e06cb 100644 --- a/src/stores/supabaseStore.js +++ b/src/stores/supabaseStore.js @@ -5,6 +5,7 @@ export const supabaseStore = defineStore('supabaseStore', { // counter: 0 prueba: 'prueba', user: null, + session: null }), getters: {