2023-07-28 00:17:00 +00:00
|
|
|
<script setup>
|
|
|
|
useHead({
|
|
|
|
title: 'Create account | crbtc.org',
|
|
|
|
meta: [
|
|
|
|
{
|
|
|
|
name: 'description',
|
|
|
|
content: ``
|
|
|
|
},
|
|
|
|
],
|
|
|
|
})
|
2023-07-28 01:44:21 +00:00
|
|
|
|
2023-08-11 19:04:34 +00:00
|
|
|
import { Form, Field, ErrorMessage } from 'vee-validate';
|
|
|
|
|
|
|
|
function required(value) {
|
|
|
|
return value ? true : 'This field is required'
|
|
|
|
}
|
|
|
|
|
|
|
|
const { createUser } = useDirectusAuth();
|
|
|
|
|
|
|
|
const onSubmit = async (values) => {
|
|
|
|
let slug = values.username.toLowerCase().replace(/\s/g, '')
|
|
|
|
|
|
|
|
try {
|
|
|
|
const newUser = await createUser({
|
|
|
|
first_name: values.username,
|
|
|
|
email: values.email,
|
|
|
|
password: values.password,
|
|
|
|
external_identifier: slug,
|
2023-08-23 03:53:32 +00:00
|
|
|
role: process.env.DIRECTUS_ROLE,
|
2023-08-11 19:04:34 +00:00
|
|
|
})
|
|
|
|
} catch (e) {}
|
|
|
|
}
|
|
|
|
|
2023-07-28 00:17:00 +00:00
|
|
|
</script>
|
|
|
|
|
2023-07-17 19:11:13 +00:00
|
|
|
<template>
|
2023-08-11 19:04:34 +00:00
|
|
|
<div class="register">
|
|
|
|
<h3>Create your account</h3>
|
|
|
|
<h4 class="policy">By continuing, you agree to our <NuxtLink href="terms">Terms of
|
|
|
|
use</NuxtLink> and <NuxtLink href="privacy">Privacy policy</NuxtLink>.</h4>
|
|
|
|
|
|
|
|
<Form v-slot="{ errors }" @submit="onSubmit" >
|
|
|
|
<div class="input">
|
|
|
|
<label>Username</label>
|
|
|
|
<Field name="username" placeholder="Choose a username" />
|
|
|
|
<ErrorMessage name="username" />
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="input">
|
|
|
|
<label>Email</label>
|
|
|
|
<Field name="email" placeholder="Enter your email" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$" />
|
|
|
|
<ErrorMessage name="email" />
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="input">
|
|
|
|
<label>Password</label>
|
|
|
|
<Field name="password" placeholder="********" type="password" />
|
|
|
|
<ErrorMessage name="password" />
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<button>Create account</button>
|
|
|
|
</form>
|
|
|
|
|
|
|
|
<p class="newbie">Already have an account? <NuxtLink href="/login">Sign in</NuxtLink></p>
|
2023-07-28 00:17:00 +00:00
|
|
|
|
2023-08-11 19:04:34 +00:00
|
|
|
</div>
|
2023-07-17 19:11:13 +00:00
|
|
|
</template>
|