Progressing on profile edition and thumbnail cropping

This commit is contained in:
2024-09-11 17:47:04 +02:00
parent e904f28b3b
commit 6856d3b9af
25 changed files with 278 additions and 88 deletions

View File

@@ -87,15 +87,15 @@ function handleErrors(error: Error | ZodError)
</Head>
<div class="flex flex-1 justify-center items-center">
<div class="p-8 w-[48em] border border-light-35 dark:border-dark-35">
<form @submit.prevent="submit" class="p-4 bg-light-25 dark:bg-dark-30">
<form @submit.prevent="submit" class="p-4 bg-light-20 dark:bg-dark-20">
<h1 class="text-2xl font-bold tracking-wider pb-4">Inscription</h1>
<InputField type="text" autocomplete="username" v-model="state.username"
placeholder="Entrez un nom d'utilisateur" title="Nom d'utilisateur" :error="usernameError" class="w-[24em]"/>
placeholder="Entrez un nom d'utilisateur" title="Nom d'utilisateur" :error="usernameError"/>
<InputField type="text" autocomplete="email" v-model="state.email" placeholder="Entrez une addresse mail"
title="Adresse mail" :error="emailError" class="w-[24em]"/>
title="Adresse mail" :error="emailError"/>
<InputField type="password" autocomplete="new-password" v-model="state.password"
placeholder="Entrez un mot de passe" title="Mot de passe"
:error="!(checkedLength && checkedLowerUpper && checkedDigit && checkedSymbol)" class="w-[24em]"/>
:error="!(checkedLength && checkedLowerUpper && checkedDigit && checkedSymbol)"/>
<div class="flex flex-col font-light">
<span class="">Votre mot de passe doit respecter les critères de sécurité suivants
:</span>
@@ -110,12 +110,13 @@ function handleErrors(error: Error | ZodError)
<pre>! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ ] ^ _ ` { | } ~</pre>
</span>
</div>
<InputField type="password" v-model="confirmPassword" placeholder="Confirmer le mot de passe"
title="Confirmer le mot de passe"
autocomplete="new-password"
:error="confirmPassword === '' || confirmPassword === state.password ? '' : 'Les mots de passe saisies ne sont pas identique'" class="w-[24em]"/>
<InputField type="password" v-model="confirmPassword" placeholder="Confirmer le mot de passe" title="Confirmer le mot de passe" autocomplete="new-password"
:error="confirmPassword === '' || confirmPassword === state.password ? '' : 'Les mots de passe saisies ne sont pas identique'"/>
<span v-if="generalError" class="text-light-red dark:text-dark-red">{{ generalError }}</span>
<button class="m-auto block px-4 py-1 bg-light-20 dark:bg-dark-20 border border-light-40 dark:border-dark-40 hover:border-light-50 dark:hover:border-dark-50 active:relative active:top-[1px]"><div v-if="status === 'pending'" class="loading"></div><template v-else>S'inscrire</template></button>
<button class="m-auto block px-4 py-1 bg-light-20 dark:bg-dark-20 border border-light-40 dark:border-dark-40 hover:border-light-50 dark:hover:border-dark-50 active:relative active:top-[1px]">
<div v-if="status === 'pending'" class="loading"></div>
<template v-else>S'inscrire</template>
</button>
<NuxtLink class="mt-4 text-center block text-sm font-semibold tracking-wide hover:italic" :to="{ path: `/user/login`, force: true }">Vous avez déjà un compte ? Se connecter</NuxtLink>
</form>
</div>