Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MOT DE PASSE OUBLIE] Saisis l'email puis modifie le mot de passe #737

Merged
merged 8 commits into from
Nov 14, 2024

Conversation

firefly33
Copy link
Contributor

No description provided.

@firefly33 firefly33 changed the title Pages reinitialisation mot de passe [MOT DE PASSE OUBLIE] Page de saisie de l'email Nov 12, 2024
@firefly33 firefly33 force-pushed the pages-reinitialisation-mot-de-passe branch 2 times, most recently from 18b7255 to c7aa506 Compare November 13, 2024 17:57
@firefly33 firefly33 marked this pull request as ready for review November 13, 2024 18:00
@firefly33 firefly33 force-pushed the pages-reinitialisation-mot-de-passe branch from c7aa506 to 9840a7e Compare November 13, 2024 18:10
@firefly33 firefly33 changed the title [MOT DE PASSE OUBLIE] Page de saisie de l'email [MOT DE PASSE OUBLIE] Saisis l'email puis modifie le mot de passe Nov 13, 2024
@@ -46,6 +48,14 @@ export const RouteurPublic = () => {
<Route path="connexion" element={<EcranConnexion />} />
</Route>

<Route path="/utilisateur" element={<LayoutPublic />}>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Passer la prop pour ne pas afficher le menu navigation publique

<main role="main" className="ecran-mot-de-passe-oublie">
<div className="formulaire-colonne-gauche">
<div className="fr-container">
<TypographieH3 style={{ textAlign: 'center' }}>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

alig style

</div>
</div>
<div className="fond-clair-mac icone-colonne-droite">
<img src={illustrationSecuritePostesSvg} alt="" />
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ajouter un Alt

<i className="mac-icone-information" />
<div>
Si le compte existe, un e-mail de redéfinition de mot de passe sera
envoyé à : <b>[email protected]</b> Veuillez vérifier votre boîte de
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

</div>
);

return <FormulaireMotDePasseOublie surSoumission={mutate} />;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On a besoin du mail (cf commentaire précédent), voir :

  • si react query permet d’obtenir la valeur passée
  • sinon, appeler une callback intermédiaire pour conserver le mail puis appeler le mutate


return (
<div className="formulaire-mot-de-passe-oublie-layout">
<p style={{ textAlign: 'center' }}>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

inline style

adresseElectroniqueSaisie(e.target.value)
)
}
onChange={(e) =>
Copy link
Collaborator

@bbougon bbougon Nov 14, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Peut-être que le onChange ne devrait pas afficher l’erreur tant que le mail n’est pas valide. Il pourrait se focaliser uniquement sur l’état du bouton Réinitialiser le mot de passe. Le onBlur servant à la validation

<Button
type="button"
variant="secondary"
onClick={() => window.location.replace('/')}
Copy link
Collaborator

@bbougon bbougon Nov 14, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Passer par le navigate pour éviter le rechargement de la page et ainsi éviter un appel à l’API.
Faire attention aux liens hateoas (sont-ils tous présents => se-connecter)

...construisErreurChamp(estChampValide),
},
}),
...Object.entries(ajouteAuNouvelEtat()).reduce((prev, [clef, valeur]) => {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

renommer prev en precedent

<main role="main" className="ecran-reinitialiser-mot-de-passe">
<div className="formulaire-colonne-gauche">
<div className="fr-container">
<TypographieH3 style={{ textAlign: 'center' }}>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

inline style

<TypographieH3 style={{ textAlign: 'center' }}>
Réinitialisation de votre mot de passe
</TypographieH3>
<FormulaireReinitialiserMotDePasseConnecte
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Le suffixe Connecte n’est pas très parlant, voir si on trouve un meilleur nom pour désigner l’intention qui est de faire l’appel au back


return (
<div className="formulaire-reinitialiser-mot-de-passe-layout">
<p style={{ textAlign: 'center' }}>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inline style

<li>1 majuscule</li>
<li>1 minuscule</li>
<li>1 chiffre</li>
<li>1 caractère spécial parmi #?!@$%^&*-'+_()[]</li>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remplacer #?!@$%^&*-'+_()[] par &#35;?!@&#36;&#37;^&amp;*-&apos;+_&#40;&#41;[]

motDePasse: string;
confirmationMotDePasse: string;
}) => {
if (!token || token.length === 0 || token === '')
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

faire token.trim() === ''

);
},
onSuccess: () => {
navigate('/aidant/tableau-de-bord');
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

L’utilisateur n’est pas connecté => renvoyer vers l’écran de connexion

@firefly33 firefly33 force-pushed the pages-reinitialisation-mot-de-passe branch from 62432ec to 1cdc254 Compare November 14, 2024 11:03
…sie de l'email

[MOT DE PASSE OUBLIE] Créé le réducteur pour le formulaire de saisie de l'email
…ie de l'email sur l'action HATEOAS

[WIP][REINITIALISER MOT DE PASSE] dev en cours
…lise a pour afficher le lien vers la page de réinitialisation
…tion dans le dossier domaine/authentification
…rcours Mot de passe oublié

[REMANIEMENT] Enleve du inline style pour centrer des textes et utilise une classe CSS

[REMANIEMENT] Rajoute la propriété alt sur une illustration

[REMANIEMENT][FORMULAIRE MOT DE PASSE OUBLIE] Affiche dans le message de succès l'email renseigné dans le formulaire

[REMANIEMENT][FORMULAIRE MOT DE PASSE OUBLIE] Navigue via react-router vers la racine

[REMANIEMENT] Renomme des variables prev en precedent

[REMANIEMENT] Echappe les caractères spéciaux dans le formulaire réinitialiser mot de passe

[REMANIEMENT] Trime le token lors de la vérification si il existe ou non
…ntre un formulaire et son action vers un endpoint
@firefly33 firefly33 force-pushed the pages-reinitialisation-mot-de-passe branch from 1cdc254 to e8faace Compare November 14, 2024 11:08
@firefly33 firefly33 merged commit 3af9fb4 into main Nov 14, 2024
5 checks passed
@firefly33 firefly33 deleted the pages-reinitialisation-mot-de-passe branch November 14, 2024 13:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants