diff --git a/Frontend/src/locales/en.json b/Frontend/src/locales/en.json index c75b99a..ff00e37 100644 --- a/Frontend/src/locales/en.json +++ b/Frontend/src/locales/en.json @@ -35,6 +35,23 @@ "signup_journey_heading": "Start your Journey", "signup_with": "with", + "forget_password_heading": "Forget Password?", + "forget_password_subtitle": "No worries, we'll send you reset instructions.", + "forget_password_email_placeholder": "Enter your email", + "forget_password_send_email": "Send Email", + "forget_password_email_sent": "Email Sent to your Mail", + "forget_password_back_to_login": "Back to Login Page", + + "reset_password_heading": "Create New Password", + "reset_password_subtitle": "Create your new, unique and secure password here.", + "reset_password_new_label": "New Password :", + "reset_password_new_placeholder": "Enter your New Password", + "reset_password_confirm_label": "Confirm Password :", + "reset_password_confirm_placeholder": "Enter your Confirm Password", + "reset_password_error": "Password and confirm password do not match. Please enter the same password in both fields.", + "reset_password_button": "Reset Password", + "reset_password_back_to_login": "Back to Login Page", + "hero_one_stop_solution": "One stop solution for every farmer's need.", "hero_plant_alt": "plant", diff --git a/Frontend/src/locales/fr.json b/Frontend/src/locales/fr.json index b789943..33fac7f 100644 --- a/Frontend/src/locales/fr.json +++ b/Frontend/src/locales/fr.json @@ -35,6 +35,23 @@ "signup_journey_heading": "Commencez votre aventure", "signup_with": "avec", + "forget_password_heading": "Mot de passe oublié ?", + "forget_password_subtitle": "Pas d'inquiétude, nous vous enverrons des instructions de réinitialisation.", + "forget_password_email_placeholder": "Entrez votre e-mail", + "forget_password_send_email": "Envoyer l'e-mail", + "forget_password_email_sent": "E-mail envoyé à votre adresse", + "forget_password_back_to_login": "Retour à la page de connexion", + + "reset_password_heading": "Créer un nouveau mot de passe", + "reset_password_subtitle": "Créez ici votre nouveau mot de passe unique et sécurisé.", + "reset_password_new_label": "Nouveau mot de passe :", + "reset_password_new_placeholder": "Entrez votre nouveau mot de passe", + "reset_password_confirm_label": "Confirmer le mot de passe :", + "reset_password_confirm_placeholder": "Entrez à nouveau votre mot de passe", + "reset_password_error": "Le mot de passe et sa confirmation ne correspondent pas. Veuillez saisir le même mot de passe dans les deux champs.", + "reset_password_button": "Réinitialiser le mot de passe", + "reset_password_back_to_login": "Retour à la page de connexion", + "hero_one_stop_solution": "Une solution unique pour tous les besoins des agriculteurs.", "hero_plant_alt": "plante", diff --git a/Frontend/src/pages/Password/ForgetPassword.jsx b/Frontend/src/pages/Password/ForgetPassword.jsx index 2f0e659..9fcfe77 100644 --- a/Frontend/src/pages/Password/ForgetPassword.jsx +++ b/Frontend/src/pages/Password/ForgetPassword.jsx @@ -1,12 +1,17 @@ import React, { useRef, useState } from "react"; import { IoIosKey } from "react-icons/io"; -import { Link } from "react-router-dom"; +import { Link, useOutletContext } from "react-router-dom"; import { FaArrowLeft } from "react-icons/fa6"; import { BACKEND_URL } from "../../constants"; +import { t } from "../../service/translation"; + +const ForgetPassword = (props) => { + // Get language from context or props, default to 'en' + const outletContext = useOutletContext?.(); + const language = + (outletContext && outletContext.language) || props.language || "en"; -const ForgetPassword = () => { const emailElement = useRef(); - const [status, setStatus] = useState(false); const handleForgetPassword = async (event) => { @@ -29,15 +34,18 @@ const ForgetPassword = () => { setStatus(true); } }; + return (
-
+
-

Forget Password?

+

+ {t("forget_password_heading", language)} +

- No worries, we'll send you resent instructions. + {t("forget_password_subtitle", language)}

{ @@ -58,14 +66,17 @@ const ForgetPassword = () => { type="submit" className="focus:outline-none text-white bg-purple-700 hover:bg-purple-800 focus:ring-4 focus:ring-purple-300 font-medium rounded-lg text-base px-5 py-2.5 mb-2 dark:bg-purple-600 dark:hover:bg-purple-700 dark:focus:ring-purple-900" > - {status === false ? "Send Email" : "Email Sent to your Mail"} + {status === false + ? t("forget_password_send_email", language) + : t("forget_password_email_sent", language)} - Back to Login Page + {" "} + {t("forget_password_back_to_login", language)}
@@ -75,3 +86,4 @@ const ForgetPassword = () => { }; export default ForgetPassword; + diff --git a/Frontend/src/pages/Password/ResetPassword.jsx b/Frontend/src/pages/Password/ResetPassword.jsx index fd43cf8..c429407 100644 --- a/Frontend/src/pages/Password/ResetPassword.jsx +++ b/Frontend/src/pages/Password/ResetPassword.jsx @@ -1,20 +1,23 @@ import React, { useRef, useState } from "react"; import { RiLockPasswordFill } from "react-icons/ri"; -import { Link, useNavigate, useParams } from "react-router-dom"; +import { Link, useNavigate, useParams, useOutletContext } from "react-router-dom"; import { FaArrowLeft } from "react-icons/fa6"; import { BACKEND_URL } from "../../constants"; +import { t } from "../../service/translation"; -const ResetPassword = () => { +const ResetPassword = (props) => { const [secure, setSecure] = useState(true); const newPassworElement = useRef(); const confirmPassworElement = useRef(); const navigate = useNavigate(); - const { token } = useParams(); - + // Get language from context or props, default to 'en' + const outletContext = useOutletContext?.(); + const language = + (outletContext && outletContext.language) || props.language || "en"; const handleResetPassword = async (event) => { event.preventDefault(); @@ -41,8 +44,6 @@ const ResetPassword = () => { const data = await responce.json(); - - if (data.success === true) { navigate("/user/login"); } @@ -50,81 +51,81 @@ const ResetPassword = () => { }; return ( - <> -
-
-
-
- -

- Create New Password -

-

- Create your new, unique and secure password here. -

-
-
-
- - -
-
- - -
- -

- Password and confirm Password is not same.Please Enter new - password and confirm Password same -

- - - - - Back to Login Page - - +
+
+
+
+ +

+ {t("reset_password_heading", language)} +

+

+ {t("reset_password_subtitle", language)} +

+
+
+ + +
+
+ + +
+ +

+ {t("reset_password_error", language)} +

+ + + + + {" "} + {t("reset_password_back_to_login", language)} + +
- +
); }; + export default ResetPassword; +