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

Mosip 32336 Disable reset password button until enter email #110

Merged
merged 2 commits into from
May 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ export const { useI18n } = createUseI18n({
// that is "Forgot Password?" see: https://github.com/InseeFrLab/keycloakify/blob/f0ae5ea908e0aa42391af323b6d5e2fd371af851/src/lib/i18n/generated_messages/18.0.1/login/en.ts#L17
invalidUserMessage: "Invalid username or password.",
usernameOrEmail: "Username",
doLogIn:"Login",
loginDesc:"Please enter your username and password to login.",
regDesc:"Please fill in the below fields to register as partner.",
namePlaceholder:"Enter username",
passwordPlaceholder:"Enter Password",
noAccount:"Not a member yet?",
doRegister:"Register",
doLogIn: "Login",
loginDesc: "Please enter your registered email and password to login",
regDesc: "Please fill in the below fields to register as partner.",
namePlaceholder: "Enter username",
passwordPlaceholder: "Enter Password",
noAccount: "Not a member yet?",
doRegister: "Register",
partnerType: "Partner Type",
selectAnOption: "Select Partner Type",
orgName: "Organisation Name",
Expand All @@ -45,12 +45,12 @@ export const { useI18n } = createUseI18n({
passwordConditions: "Password does not meet the minimum requirements. Please try again.",
passwordNotMatch: "Password and Confirm password do not match. Try again.",
invalidPhoneNo: "Please Enter valid Phone Number",
forgotPasswordDesc: "Please enter your registered email address and we will send you instructions on to your email on how to create a new password.",
forgotPasswordDesc: "Please enter your registered email address and we will send you instructions on your email on how to create a new password.",
resetPassword: "Reset Password",
rememberPW: "Remember Password?",
nosearchData: "Data not found in the dropdown list",
updatePasswordTitle: "Change Password",
updatePasswordDesc: "To change the password, please enter the new password and re-enter the password to confirm.",
updatePasswordTitle: "Set New Password",
updatePasswordDesc: "To set new password, please enter the new password and re-enter the new password to confirm.",
emailverificationHeading: "Email Verification link sent!",
emailVerifyTitle: "Email Verification link sent!",
emailVerifyText: "You need to verify your email address to activate your account. An email with instruction to verify your email address has been sent to you.",
Expand All @@ -59,21 +59,24 @@ export const { useI18n } = createUseI18n({
expiredActionMessage: "Looks like you have already reset password or this action is no longer valid.",
sryText: "We are sorry!",
backToApplication: "Back to Application",
proceedWithAction: "Click here to proceed"
proceedWithAction: "Click here to proceed",
newPassword: "New Password",
confNewPassword: "Confirm New Password",
missingUsernameMessage: "Please enter valid email address.",
},
fr: {
/* spell-checker: disable */
alphanumericalCharsOnly: "Caractère alphanumérique uniquement",
gender: "Genre",
invalidUserMessage: "Nom d'utilisateur ou mot de passe invalide. (ce message a été écrasé dans le thème)",
usernameOrEmail: "Nom d'utilisateur ou courriel",
doLogIn:"Se connecter",
loginDesc:"Merci d'entrer votre nom d'utilisateur et votre mot de passe pour vous connecter.",
regDesc:"Veuillez remplir les champs ci-dessous pour vous inscrire en tant que partenaire.",
namePlaceholder:"Saisissez votre nom d'utilisateur",
passwordPlaceholder:"Entrer le mot de passe",
noAccount:"Pas encore membre?",
doRegister:"Registre",
doLogIn: "Se connecter",
loginDesc: "Veuillez entrer votre email enregistré et votre mot de passe pour vous connecter",
regDesc: "Veuillez remplir les champs ci-dessous pour vous inscrire en tant que partenaire.",
namePlaceholder: "Saisissez votre nom d'utilisateur",
passwordPlaceholder: "Entrer le mot de passe",
noAccount: "Pas encore membre?",
doRegister: "Registre",
partnerType: "Type de partenaire",
selectAnOption: "Sélectionnez le type de partenaire",
orgName: "Nom de l'organisme",
Expand All @@ -88,34 +91,36 @@ export const { useI18n } = createUseI18n({
phoneNumberPH: "Entrez le numéro de téléphone",
userNamePH: "Saisissez votre nom d'utilisateur",
alreadyMember: "Déjà membre?",

requiredFields: "All fields are required, except ones marked as optional",
missingPartnerTypeMessage:"Please specify partner type",
logInErrorMsg: "Entered Email Address or Password invalid!",
registerErrorMsg: "Please fill all the required fields",
passwordInfo: "Use 8 or more characters with at least one upper and lower case alphabet, atleast one special character.",
inputErrorMsg: "Please enter",
orgInfoMsg:"Enter the organisation name as mentioned in ORGANISATION ATTRIBUTE of CERTIFICATE SUBJECT in CA Signed Certificate",
existingEmailErr: "Email already exists.",
invalidEmailErr: "Invalid email address.",
passwordConditions: "Password does not meet the minimum requirements. Please try again.",
passwordNotMatch: "Password and Confirm password do not match. Try again.",
invalidPhoneNo:"Please Enter valid Phone Number",
forgotPasswordDesc: "Please enter your registered email address and we will send you instructions on to your email on how to create a new password.",
resetPassword: "Reset Password",
rememberPW:"Remember Password?",
nosearchData: "Data not found in the dropdown list",
updatePasswordTitle: "Change Password",
updatePasswordDesc: "To change the password, please enter the new password and re-enter the password to confirm.",
emailverificationHeading:"Email Verification link sent!",
emailVerifyTitle:"Email Verification link sent!",
emailVerifyText:"You need to verify your email address to activate your account. An email with instruction to verify your email address has been sent to you.",
notReceviedText: "Haven’t received the email in your inbox yet?",
resentEmail: "Resend Email",
expiredActionMessage: "Looks like you have already reset password or this action is no longer valid.",
sryText: "We are sorry!",
backToApplication: "Back to Application",
proceedWithAction: "Click here to proceed"
requiredFields: "Tous les champs sont obligatoires, sauf ceux marqués comme facultatifs",
missingPartnerTypeMessage: "Veuillez préciser le type de partenaire",
logInErrorMsg: "Adresse e-mail ou mot de passe saisi invalide!",
registerErrorMsg: "Veuillez remplir tous les champs obligatoires",
passwordInfo: "Utilisez 8 caractères ou plus avec au moins un alphabet majuscule et minuscule, au moins un caractère spécial.",
inputErrorMsg: "Entrez s'il vous plait",
orgInfoMsg: "Entrez le nom de l'organisation tel que mentionné dans l'ATTRIBUT DE L'ORGANISATION du SUJET DU CERTIFICAT dans le certificat signé par l'autorité de certification.",
existingEmailErr: "L'email existe déjà.",
invalidEmailErr: "Adresse e-mail invalide.",
passwordConditions: "Le mot de passe ne répond pas aux exigences minimales. Veuillez réessayer.",
passwordNotMatch: "Mot de passe et Confirmer le mot de passe ne correspondent pas. Essayer à nouveau.",
invalidPhoneNo: "S'il vous plait entrez un numéro de téléphone valide",
forgotPasswordDesc: "Veuillez saisir votre adresse e-mail enregistrée et nous vous enverrons des instructions sur votre e-mail pour savoir comment créer un nouveau mot de passe.",
resetPassword: "réinitialiser le mot de passe",
rememberPW: "Se souvenir du mot de passe?",
nosearchData: "Données introuvables dans la liste déroulante",
updatePasswordTitle: "Definir un nouveau mot de passe",
updatePasswordDesc: "Pour définir un nouveau mot de passe, veuillez saisir le nouveau mot de passe et ressaisir le nouveau mot de passe pour confirmer.",
emailverificationHeading: "Lien de vérification par e-mail envoyé!",
emailVerifyTitle: "Lien de vérification par e-mail envoyé!",
emailVerifyText: "Vous devez vérifier votre adresse e-mail pour activer votre compte. Un e-mail contenant des instructions pour vérifier votre adresse e-mail vous a été envoyé.",
notReceviedText: "Vous n'avez pas encore reçu l'e-mail dans votre boîte de réception?",
resentEmail: "Ré-envoyer l'email",
expiredActionMessage: "Il semble que vous ayez déjà réinitialisé votre mot de passe ou que cette action n'est plus valide.",
sryText: "Nous sommes désolés!",
backToApplication: "Retour à la candidature",
proceedWithAction: "Cliquez ici pour continuer",
newPassword: "nouveau mot de passe",
confNewPassword: "Confirmer le nouveau mot de passe",
missingUsernameMessage: "Veuillez saisir une adresse e-mail valide."
/* spell-checker: enable */
}
});
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { useState } from "react";
import { clsx } from "keycloakify/tools/clsx";
import type { PageProps } from "keycloakify/login/pages/PageProps";
import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
Expand All @@ -13,6 +14,8 @@ export default function LoginResetPassword(props: PageProps<Extract<KcContext, {
classes
});

const [email, addEmail] = useState('')

const { url, realm, auth } = kcContext;

const { msg, msgStr } = i18n;
Expand Down Expand Up @@ -57,6 +60,7 @@ export default function LoginResetPassword(props: PageProps<Extract<KcContext, {
placeholder={msgStr('emailPH')}
autoFocus
defaultValue={auth !== undefined && auth.showUsername ? auth.attemptedUsername : undefined}
onChange={(event) =>{addEmail(event.target.value)}}
/>
</div>
</div>
Expand All @@ -79,6 +83,7 @@ export default function LoginResetPassword(props: PageProps<Extract<KcContext, {
)}
type="submit"
value={msgStr("resetPassword")}
disabled={!email}
/>
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ export default function LoginUpdatePassword(props: PageProps<Extract<KcContext,
}
>
<form id="kc-passwd-update-form" className={getClassName("kcFormClass")} action={url.loginAction} method="post">
{message !== undefined && (
{(message !== undefined && message.type !== 'warning')&& (
<div className='bg-errorBg min-h-11 p-2 text-center text-errorColor font-semibold mb-3'>
{/* {message.type === "success" && <span className={getClassName("kcFeedbackSuccessIcon")}></span>}
{message.type === "warning" && <span className={getClassName("kcFeedbackWarningIcon")}></span>}
Expand Down Expand Up @@ -72,7 +72,7 @@ export default function LoginUpdatePassword(props: PageProps<Extract<KcContext,
>
<div className={getClassName("kcLabelWrapperClass")}>
<label htmlFor="password-new" className={(getClassName("kcLabelClass"), 'text-pTextColor font-bold flex flex-row items-center')}>
<span>{msg("password")}</span>
<span>{msg("newPassword")}</span>
<ToolTip tooltip={msgStr('passwordInfo')}>
<img className="ml-2 cursor-pointer" alt="info" src={info} />
</ToolTip>
Expand Down Expand Up @@ -102,7 +102,7 @@ export default function LoginUpdatePassword(props: PageProps<Extract<KcContext,
>
<div className={getClassName("kcLabelWrapperClass")}>
<label htmlFor="password-confirm" className={(getClassName("kcLabelClass"), 'text-pTextColor font-bold')}>
{msg("passwordConfirm")}
{msg("confNewPassword")}
</label>
</div>
<div className={getClassName("kcInputWrapperClass")}>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -451,7 +451,7 @@ export default function Register(props: PageProps<Extract<KcContext, { pageId: "
>
<div className={getClassName("kcLabelWrapperClass")}>
<label htmlFor="password" className={(getClassName("kcLabelClass"), 'text-hTextColor text-xl flex flex-row items-center')}>
{msg("password")}
{msg("newPassword")}
<ToolTip tooltip={msgStr('passwordInfo')}>
{/* <button className="bg-gray-900 text-white p-3 rounded"> */}
<img className="ml-2 cursor-pointer" alt="info" src={info} />
Expand Down Expand Up @@ -487,7 +487,7 @@ export default function Register(props: PageProps<Extract<KcContext, { pageId: "
>
<div className={getClassName("kcLabelWrapperClass")}>
<label htmlFor="password-confirm" className={getClassName("kcLabelClass")}>
{msg("passwordConfirm")}
{msg("confNewPassword")}
</label>
</div>
<div className={getClassName("kcInputWrapperClass")}>
Expand Down
Loading