finally put #3 to bed with state. also introduce email/password signup and login

This commit is contained in:
Michael Dausmann
2023-04-13 20:11:18 +10:00
parent 028a7dda45
commit 6a7e7ec9ac
9 changed files with 105 additions and 32 deletions

View File

@@ -4,6 +4,8 @@
const loading = ref(false)
const email = ref('')
const password = ref('')
const confirmPassword = ref('')
const handleOtpLogin = async () => {
try {
@@ -18,6 +20,18 @@
}
}
const handleStandardSignup = async () => {
try {
loading.value = true
const { data, error } = await supabase.auth.signUp({ email: email.value, password: password.value })
if (error) throw error
} catch (error) {
alert(error)
} finally {
loading.value = false
}
}
watchEffect(() => {
if (user.value) {
navigateTo('/dashboard', {replace: true})
@@ -27,6 +41,18 @@
<template>
<div>
<h3>Sign Up</h3>
<form @submit.prevent="handleStandardSignup">
<label for="email">Email:</label>
<input class="inputField" type="email" id="email" placeholder="Your email" v-model="email" />
<label for="password">Password:</label>
<input class="inputField" type="password" id="password" placeholder="Password" v-model="password" />
<label for="confirm_password">Confirm Password:</label>
<input class="inputField" type="password" id="convirm_password" placeholder="Confirm Password" v-model="confirmPassword" />
<p>By proceeding, I agree to the <NuxtLink to="/privacy">Privacy Statement</NuxtLink> and <NuxtLink to="/terms">Terms of Service</NuxtLink>.</p>
<button type="submit" :disabled="loading || (confirmPassword !== password)">Sign Up</button>
</form>
<form @submit.prevent="handleOtpLogin">
<label for="email">Email:</label>
<input class="inputField" type="email" id="email" placeholder="Your email" v-model="email" />