Delete unused components (Auth & TextArea)
parent
d558cb7e99
commit
43a5704043
@ -1,78 +0,0 @@
|
||||
<template>
|
||||
<div
|
||||
class="bg-secondary mx-auto mt-12 flex h-96 w-96 flex-col items-center justify-center gap-8 rounded-xl p-8">
|
||||
<div class="flex w-full flex-col gap-2">
|
||||
<label> Email </label>
|
||||
<input
|
||||
type="text"
|
||||
v-model="credential.email"
|
||||
placeholder="username" />
|
||||
</div>
|
||||
<div class="flex w-full flex-col gap-2">
|
||||
<label> Password </label>
|
||||
<input
|
||||
type="password"
|
||||
v-model="credential.password"
|
||||
placeholder="password" />
|
||||
</div>
|
||||
<p
|
||||
v-if="mode === 'login'"
|
||||
class="cursor-pointer text-blue-500 underline">
|
||||
Don't have an account? Sign up
|
||||
</p>
|
||||
<p
|
||||
v-if="mode === 'signup'"
|
||||
class="cursor-pointer text-blue-500 underline">
|
||||
Already have an account? Login
|
||||
</p>
|
||||
<button
|
||||
v-on="
|
||||
mode === 'login'
|
||||
? { click: () => signIn($event) }
|
||||
: { click: () => signUp($event) }
|
||||
">
|
||||
{{ mode === 'login' ? 'Login' : 'Sign Up' }}
|
||||
</button>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
interface Props {
|
||||
mode: 'login' | 'signup'
|
||||
}
|
||||
|
||||
interface Credential {
|
||||
email: string
|
||||
password: string
|
||||
name?: string
|
||||
}
|
||||
|
||||
const credential: Credential = reactive({
|
||||
email: '',
|
||||
password: '',
|
||||
})
|
||||
|
||||
const props = withDefaults(defineProps<Props>(), {
|
||||
mode: 'login',
|
||||
})
|
||||
|
||||
const supabase = useSupabaseAuthClient()
|
||||
|
||||
const signUp = async (event: Event) => {
|
||||
const { data: user, error } = await supabase.auth.signUp({
|
||||
email: credential.email,
|
||||
password: credential.password,
|
||||
})
|
||||
console.log('user', user)
|
||||
console.log('error', error)
|
||||
}
|
||||
|
||||
const signIn = async (event: Event) => {
|
||||
const { data: user, error } = await supabase.auth.signInWithPassword({
|
||||
email: credential.email,
|
||||
password: credential.password,
|
||||
})
|
||||
console.log('user', user)
|
||||
console.log('error', error)
|
||||
}
|
||||
</script>
|
||||
@ -1,31 +0,0 @@
|
||||
<template>
|
||||
<textarea
|
||||
class="bg-secondary w-full max-w-2xl resize-none border-none outline-none placeholder:text-zinc-700 focus:outline-none"
|
||||
v-model="data"
|
||||
:rows="props.row"
|
||||
:placeholder="props.placeholder"
|
||||
@input="updateData()">
|
||||
</textarea>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
interface Props {
|
||||
modelValue: string
|
||||
placeholder?: string
|
||||
row?: number
|
||||
}
|
||||
|
||||
const props = defineProps<Props>()
|
||||
const emit = defineEmits(['update:modelValue'])
|
||||
|
||||
const data = ref<string>(props.modelValue)
|
||||
|
||||
const updateData = () => {
|
||||
emit('update:modelValue', data.value)
|
||||
}
|
||||
|
||||
watch(
|
||||
() => props.modelValue,
|
||||
() => (data.value = props.modelValue)
|
||||
)
|
||||
</script>
|
||||
Loading…
Reference in New Issue