From 9de1613bd90518cc2f365c2ae76dca6793e42df2 Mon Sep 17 00:00:00 2001 From: Kartik Sharma Date: Wed, 10 Sep 2025 11:10:48 +0530 Subject: [PATCH 01/10] New Password Field on Reset Password Page Should Be Empty --- src/pages/authentication/ResetPassword.jsx | 292 +++++++++++---------- 1 file changed, 147 insertions(+), 145 deletions(-) diff --git a/src/pages/authentication/ResetPassword.jsx b/src/pages/authentication/ResetPassword.jsx index 9c7ab0d2..02a8084c 100644 --- a/src/pages/authentication/ResetPassword.jsx +++ b/src/pages/authentication/ResetPassword.jsx @@ -93,153 +93,155 @@ const ResetPassword = () => { ); } return ( -
-
-

Reset Password? 🔒

-

Enter your email and new password to update.

-
-
- - - {errors.email && ( -
- {errors.email.message} -
- )} -
- -
-
- -
-
- - -
- {errors.password && ( -
- {errors.password.message} -
- )} -
- {" "} - {" "} -
-
- - -
- {errors.confirmPassword && ( -
- {errors.confirmPassword.message} -
- )} -
- -
-

- Password must be at least 8 characters -

-

- Password must contain at least one uppercase letter -

-

- Password must contain at least one number -

-

- Password must contain at least one special character -

-
- - -
- +
+

Reset Password? 🔒

+

Enter your email and new password to update.

+
- - Back to login - +
+ + + {errors.email && ( +
+ {errors.email.message} +
+ )} +
+ +
+
+ +
+ +
+ + +
+ + {errors.password && ( +
+ {errors.password.message} +
+ )} +
+ {" "} + {" "} +
+
+ + +
+ {errors.confirmPassword && ( +
+ {errors.confirmPassword.message} +
+ )} +
+ +
+

+ Password must be at least 8 characters +

+

+ Password must contain at least one uppercase letter +

+

+ Password must contain at least one number +

+

+ Password must contain at least one special character +

+
+ + +
+ + + Back to login + +
-
-
+
); }; From d1098e64a771dd4d5d458b85c6543297a5194d40 Mon Sep 17 00:00:00 2001 From: Kartik Sharma Date: Wed, 10 Sep 2025 11:23:36 +0530 Subject: [PATCH 02/10] Username and Password Fields Should Auto-Trim Spaces on Login --- src/pages/authentication/LoginPage.jsx | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/pages/authentication/LoginPage.jsx b/src/pages/authentication/LoginPage.jsx index 9240e33d..0bf01429 100644 --- a/src/pages/authentication/LoginPage.jsx +++ b/src/pages/authentication/LoginPage.jsx @@ -16,13 +16,13 @@ const LoginPage = () => { const loginSchema = IsLoginWithOTP ? z.object({ - username: z.string().email({ message: "Valid email required" }), - }) + username: z.string().trim().email({ message: "Valid email required" }), + }) : z.object({ - username: z.string().email({ message: "Valid email required" }), - password: z.string().min(1, { message: "Password required" }), - rememberMe: z.boolean(), - }); + username: z.string().trim().email({ message: "Valid email required" }), + password: z.string().trim().min(1, { message: "Password required" }), + rememberMe: z.boolean(), + }); const { register, @@ -114,9 +114,8 @@ const LoginPage = () => { @@ -169,8 +168,8 @@ const LoginPage = () => { {loading ? "Please Wait..." : IsLoginWithOTP - ? "Send OTP" - : "Sign In"} + ? "Send OTP" + : "Sign In"} {/* Login With OTP Button */} From 8c48b8358127403f92665df032d385ab281df266 Mon Sep 17 00:00:00 2001 From: Kartik Sharma Date: Wed, 10 Sep 2025 12:21:01 +0530 Subject: [PATCH 03/10] =?UTF-8?q?Password=20Field=20UI=20Not=20Proper=20?= =?UTF-8?q?=E2=80=93=20White=20Background=20Not=20Covering=20Full=20Field?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/authentication/LoginPage.jsx | 34 +++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/src/pages/authentication/LoginPage.jsx b/src/pages/authentication/LoginPage.jsx index 0bf01429..db99e6a1 100644 --- a/src/pages/authentication/LoginPage.jsx +++ b/src/pages/authentication/LoginPage.jsx @@ -106,7 +106,7 @@ const LoginPage = () => { {/* Password */} {!IsLoginWithOTP && ( <> -
+ {/*
@@ -134,6 +134,38 @@ const LoginPage = () => { {errors.password.message}
)} +
*/} + +
+ + +
+ + + + +
{/* Remember Me + Forgot Password */} From 84500f6913700e25f1a89ae8ea4092bfc8870c18 Mon Sep 17 00:00:00 2001 From: Kartik Sharma Date: Thu, 11 Sep 2025 10:08:25 +0530 Subject: [PATCH 04/10] =?UTF-8?q?Forgot=20Password=20=E2=80=93=20Reset=20l?= =?UTF-8?q?ink=20not=20sent,=20error=20shown=20for=20all=20valid=20emails?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/authentication/ForgotPasswordPage.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/authentication/ForgotPasswordPage.jsx b/src/pages/authentication/ForgotPasswordPage.jsx index 8a6fc608..0e234bd3 100644 --- a/src/pages/authentication/ForgotPasswordPage.jsx +++ b/src/pages/authentication/ForgotPasswordPage.jsx @@ -10,7 +10,7 @@ import { z } from "zod"; const forgotPassSceham = z.object({ - email: z.string().email(), + email: z.string().trim().email(), }) const ForgotPasswordPage = () => { From 2f2ddb057667f1200bad878adcfd6a2c24af4edb Mon Sep 17 00:00:00 2001 From: Kartik Sharma Date: Thu, 11 Sep 2025 12:22:33 +0530 Subject: [PATCH 05/10] Standardize All Buttons in Expenses Module to Match Website-Wide Button Style --- src/components/Expenses/ExpenseFilterPanel.jsx | 2 +- src/components/Tenant/TenantFilterPanel.jsx | 2 +- src/components/common/FilterIcon.jsx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/Expenses/ExpenseFilterPanel.jsx b/src/components/Expenses/ExpenseFilterPanel.jsx index 84e6eb8c..5e415821 100644 --- a/src/components/Expenses/ExpenseFilterPanel.jsx +++ b/src/components/Expenses/ExpenseFilterPanel.jsx @@ -187,7 +187,7 @@ const ExpenseFilterPanel = ({ onApply, handleGroupBy }) => {
+ {/* View always visible */} - - {!item.isSystem && ( + + {/* If ACTIVE employee */} + {item.isActive && ( <> + + {/* Suspend only when active */} + {item.isActive && ( + + )} + + )} + + {/* If INACTIVE employee AND inactive toggle is ON */} + {!item.isActive && showInactive && ( + + )}
@@ -683,9 +691,8 @@ useEffect(() => {