diff --git a/src/pages/employee/EmployeeList.jsx b/src/pages/employee/EmployeeList.jsx
index 301e61a7..3b4babb4 100644
--- a/src/pages/employee/EmployeeList.jsx
+++ b/src/pages/employee/EmployeeList.jsx
@@ -53,8 +53,15 @@ const EmployeeList = () =>
setCurrentPage(1);
if (!loading && Array.isArray(employees)) {
- setEmployeeList(employees);
- setFilteredData(employees);
+ // Sort by full name (firstName + lastName)
+ const sorted = [...employees].sort((a, b) => {
+ const nameA = `${a.firstName || ""}${a.lastName || ""}`.toLowerCase();
+ const nameB = `${b.firstName || ""}${b.lastName || ""}`.toLowerCase();
+ return nameA.localeCompare(nameB);
+ });
+
+ setEmployeeList(sorted);
+ setFilteredData(sorted);
}
}, [loading, employees, selectedProject]);
@@ -343,7 +350,6 @@ const EmployeeList = () =>
{currentItems &&
!loading &&
currentItems
- .sort((a, b) => b.id - a.id)
.map((item) => (
diff --git a/src/pages/project/ProjectList.jsx b/src/pages/project/ProjectList.jsx
index edae0637..a0e9ea3e 100644
--- a/src/pages/project/ProjectList.jsx
+++ b/src/pages/project/ProjectList.jsx
@@ -33,7 +33,29 @@ const ProjectList = () =>
useEffect(() => {
- setProjectList( projects )
+ if (!loading && Array.isArray(projects)) {
+ // Step 1: Group projects by statusId
+ const grouped = {};
+
+ projects.forEach((project) => {
+ const statusId = project.projectStatusId;
+ if (!grouped[statusId]) {
+ grouped[statusId] = [];
+ }
+ grouped[statusId].push(project);
+ });
+
+ // Step 2: Sort each group by name
+ const sortedGrouped = Object.keys(grouped)
+ .sort() // sort group keys (status IDs)
+ .flatMap((statusId) =>
+ grouped[statusId].sort((a, b) =>
+ a.name.toLowerCase().localeCompare(b.name.toLowerCase())
+ )
+ );
+
+ setProjectList(sortedGrouped); // final sorted flat list
+ }
}, [ projects, loginUser?.projects, loading ] );
@@ -85,19 +107,7 @@ const ProjectList = () =>
? Math.ceil(projectList.length / itemsPerPage)
: 0;
- const statusMap = {
- 1: { label: 'active', priority: 1 },
- 2: { label: 'hold', priority: 2 },
- 3: { label: 'inactive', priority: 3 },
- 4: { label: 'complete', priority: 4 }
- };
-
-
- const sortedProjects = [...currentItems].sort((a, b) => {
- const aPriority = statusMap[+a.projectStatusId]?.priority ?? 99;
- const bPriority = statusMap[+b.projectStatusId]?.priority ?? 99;
- return aPriority - bPriority;
- });
+
return (
<>
@@ -167,7 +177,7 @@ const ProjectList = () =>
{currentItems &&
- sortedProjects.map((item) => (
+ currentItems.map((item) => (
))}
|