update signup page

pull/3/head
TZGyn 2 years ago
parent b4f67575f6
commit 2a6b63fcba
Signed by: TZGyn
GPG Key ID: 122EAF77AE81FD4A

@ -1,76 +0,0 @@
import type { PageServerLoad, Actions } from './$types'
import { fail } from '@sveltejs/kit'
import { superValidate } from 'sveltekit-superforms/server'
import { formSchema } from './schema'
import { db } from '$lib/db'
import { user as userSchema } from '$lib/db/schema'
import { eq } from 'drizzle-orm'
import { nanoid } from 'nanoid'
import * as argon2 from 'argon2'
export const load = (async () => {
return {
form: superValidate(formSchema),
}
}) satisfies PageServerLoad
export const actions: Actions = {
default: async (event) => {
const form = await superValidate(event, formSchema)
if (!form.valid) {
return fail(400, {
form,
})
}
if (form.data.password !== form.data.password_confirm) {
return fail(400, {
form,
})
}
try {
const users = await db
.select()
.from(userSchema)
.where(eq(userSchema.email, form.data.email))
const user = users[0]
if (!user) {
// const hashedPassword = await Bun.password.hash(form.data.password)
const hashedPassword = await argon2.hash(form.data.password)
await db.insert(userSchema).values({
email: form.data.email,
password: hashedPassword,
})
const token = nanoid(32)
event.cookies.set('token', token, {
httpOnly: true,
sameSite: 'strict',
path: '/',
})
return {
form,
}
} else {
return fail(400, {
form,
})
}
} catch (error) {
console.log(error)
if (error instanceof SyntaxError) {
return fail(400, {
form,
})
} else {
console.log(error)
return fail(400, {
form,
})
}
}
},
}

@ -1,9 +1,6 @@
<script lang="ts"> <script lang="ts">
import type { PageData } from './$types'
import ThemeToggle from '$lib/components/theme-toggle.svelte' import ThemeToggle from '$lib/components/theme-toggle.svelte'
import UserAuthForm from './(components)/user-auth-form.svelte' import UserAuthForm from './(components)/user-auth-form.svelte'
export let data: PageData
</script> </script>
<div <div
@ -12,9 +9,9 @@
<ThemeToggle /> <ThemeToggle />
</div> </div>
<div <div
class="relative hidden h-full flex-col bg-primary-foreground p-10 text-white dark:border-r lg:flex"> class="bg-primary-foreground relative hidden h-full flex-col p-10 text-white dark:border-r lg:flex">
<div <div
class="relative z-20 flex items-center text-lg font-medium text-primary"> class="text-primary relative z-20 flex items-center text-lg font-medium">
Shortener Shortener
</div> </div>
</div> </div>
@ -25,16 +22,16 @@
<h1 class="text-2xl font-semibold tracking-tight"> <h1 class="text-2xl font-semibold tracking-tight">
Create an account Create an account
</h1> </h1>
<p class="text-sm text-muted-foreground"> <p class="text-muted-foreground text-sm">
Enter your email below to create your account Enter your email below to create your account
</p> </p>
</div> </div>
<UserAuthForm form={data.form} /> <UserAuthForm />
<p class="px-8 text-center text-sm text-muted-foreground"> <p class="text-muted-foreground px-8 text-center text-sm">
Already Have An Account? Login{' '} Already Have An Account? Login{' '}
<a <a
href="/login" href="/login"
class="underline underline-offset-4 hover:text-primary"> class="hover:text-primary underline underline-offset-4">
Here Here
</a>{' '} </a>{' '}
</p> </p>

Loading…
Cancel
Save