feat: suppression d'une migration et amélioration des formulaires + messages d'erreur (révision design + placeholders ajoutés)
This commit is contained in:
@@ -20,19 +20,19 @@
|
||||
TODO : Gérer les données avec Pahéko, mise en service en cours par un des développeurs de l'association. Cela sera vu à posteriori du stage #}
|
||||
<div class="bg-bouton/10 border border-bouton/30 rounded-lg p-5">
|
||||
<h3 class="font-semibold text-title mb-3 flex items-center gap-2">
|
||||
Votre abonnement actuellement :
|
||||
Ton abonnement actuellement :
|
||||
</h3>
|
||||
|
||||
<ul class="space-y-2 text-sm text-text">
|
||||
<li class="flex flex-col sm:flex-row sm:items-center gap-1 sm:gap-2">
|
||||
<span class="font-semibold text-gris-fonce">Formule souscrite :</span>
|
||||
{# TODO API : Remplacer par la vraie variable #}
|
||||
<span class="italic opacity-70">Ajouter la vraie valeur</span>
|
||||
{# TODO API : Remplacer par la vraie variable quand connexion Pahéko OK #}
|
||||
<span class="italic opacity-70">Ici s'affichera la donnée récupérée grâce à l'API</span>
|
||||
</li>
|
||||
<li class="flex flex-col sm:flex-row sm:items-center gap-1 sm:gap-2">
|
||||
<span class="font-semibold text-gris-fonce">Date de validité :</span>
|
||||
{# TODO API : Remplacer par la vraie variable #}
|
||||
<span class="italic opacity-70">Ajouter la vraie valeur</span>
|
||||
{# TODO API : Remplacer par la vraie variable quand connexion Pahéko OK #}
|
||||
<span class="italic opacity-70">Ici s'affichera la donnée récupérée grâce à l'API</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -6,19 +6,22 @@
|
||||
<div class="min-h-screen bg-bg-primaire flex items-center justify-center p-4 font-sora">
|
||||
<div class="max-w-md w-full bg-white rounded-2xl shadow-xl p-8 border-t-4 border-bouton">
|
||||
|
||||
<h1 class="font-caveat text-4xl text-text mb-6 text-center">
|
||||
Sécurité du compte
|
||||
<h1 class="font-caveat text-4xl text-text mb-12 text-center">
|
||||
Modifier le mot de passe de mon espace kaznaute
|
||||
</h1>
|
||||
|
||||
{{ form_start(form) }}
|
||||
<div class="space-y-4">
|
||||
<div class="space-y-6">
|
||||
{# Champ Ancien Mot de Passe #}
|
||||
<div class="space-y-1">
|
||||
{{ form_label(form.oldPassword, 'Mot de passe actuel', {
|
||||
{{ form_label(form.oldPassword, 'Mon mot de passe actuel', {
|
||||
'label_attr': {'class': 'block text-sm font-semibold text-text'}
|
||||
}) }}
|
||||
{{ form_widget(form.oldPassword, {
|
||||
'attr': {'class': 'w-full px-4 py-3 border border-gris-clair rounded-lg focus:outline-none focus:border-bouton focus:ring-1 focus:ring-bouton placeholder-gris-moyen transition-shadow'}
|
||||
'attr': {
|
||||
'class': 'w-full px-4 py-3 border border-gris-clair rounded-lg focus:outline-none focus:border-bouton focus:ring-1 focus:ring-bouton placeholder-gris-moyen transition-shadow',
|
||||
'placeholder':'Saisissez votre ancien mot de passe'
|
||||
}
|
||||
}) }}
|
||||
|
||||
{# Affichage message pour les erreurs de saisie de l'ancien mot de passe #}
|
||||
@@ -28,45 +31,46 @@
|
||||
</div>
|
||||
|
||||
{# Champs Nouveau Mot de Passe #}
|
||||
<div class="space-y-4 pt-2">
|
||||
{# Affichage de l'erreur si les deux champs ne correspondent pas #}
|
||||
<div class="space-y-6">
|
||||
{# Affichage d'un message d'erreur si les deux champs ne correspondent pas #}
|
||||
<div class="text-red-500 text-xs italic">
|
||||
{{ form_errors(form.newPassword) }}
|
||||
</div>
|
||||
<div class="space-y-1">
|
||||
{{ form_label(form.newPassword.first, 'Nouveau mot de passe', {
|
||||
|
||||
<div class="flex flex-col gap-1.5">
|
||||
{{ form_label(form.newPassword.first, 'Mon nouveau mot de passe', {
|
||||
'label_attr': {'class': 'block text-sm font-semibold text-text'}
|
||||
}) }}
|
||||
{{ form_widget(form.newPassword.first, {
|
||||
'attr': {'class': 'w-full px-4 py-3 border border-gris-clair rounded-lg focus:outline-none focus:border-bouton focus:ring-1 focus:ring-bouton transition-shadow'}
|
||||
'attr': {
|
||||
'class': 'w-full px-4 py-3 border border-gris-clair rounded-lg focus:outline-none focus:border-bouton focus:ring-1 focus:ring-bouton placeholder-gris-moyen transition-all',
|
||||
'placeholder':'Saisissez un nouveau mot de passe'
|
||||
}
|
||||
}) }}
|
||||
|
||||
{# Affichage de l'erreur de longueur (min 8 caractères) #}
|
||||
<div class="text-red-500 text-xs mt-1 italic">
|
||||
<div class="text-red-500 text-xs italic">
|
||||
{{ form_errors(form.newPassword.first) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="space-y-1">
|
||||
{{ form_label(form.newPassword.second, 'Confirmer le nouveau mot de passe', {
|
||||
<div class="flex flex-col gap-1.5">
|
||||
{{ form_label(form.newPassword.second, 'Confirmer mon nouveau mot de passe', {
|
||||
'label_attr': {'class': 'block text-sm font-semibold text-text'}
|
||||
}) }}
|
||||
{{ form_widget(form.newPassword.second, {
|
||||
'attr': {'class': 'w-full px-4 py-3 border border-gris-clair rounded-lg focus:outline-none focus:border-bouton focus:ring-1 focus:ring-bouton transition-shadow'}
|
||||
'attr': {
|
||||
'class': 'w-full px-4 py-3 border border-gris-clair rounded-lg focus:outline-none focus:border-bouton focus:ring-1 focus:ring-bouton placeholder-gris-moyen transition-all',
|
||||
'placeholder': 'Confirmez votre saisie'
|
||||
}
|
||||
}) }}
|
||||
</div>
|
||||
|
||||
<div class="text-red-500 text-xs mt-1">
|
||||
{{ form_errors(form.newPassword) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{# Bouton de validation #}
|
||||
<div class="md:col-span-3 w-full flex justify-center pt-8 pb-4">
|
||||
<button type="submit"
|
||||
class="px-8 py-2.5 bg-bouton hover:bg-bouton-hover text-text text-sm font-bold rounded-lg shadow transition-colors">
|
||||
Mettre à jour mon mot de passe
|
||||
</button>
|
||||
<div class="flex justify-center pt-12">
|
||||
<button type="submit"
|
||||
class="w-full sm:w-auto px-8 py-3 bg-bouton hover:bg-bouton-hover text-text text-sm font-bold rounded-lg shadow transition-all active:scale-95">
|
||||
Mettre à jour mon mot de passe
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
|
||||
Reference in New Issue
Block a user