From 9eb38f938914aaaf20b78bffb07dba2f12f60b32 Mon Sep 17 00:00:00 2001 From: Aayush Date: Thu, 22 Jan 2026 21:13:46 -0500 Subject: [PATCH 1/6] fixed page error --- src/actions/userManagement.js | 6 +++--- .../BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx | 5 ++++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/actions/userManagement.js b/src/actions/userManagement.js index 4f58c51d34..0e8b064e8c 100644 --- a/src/actions/userManagement.js +++ b/src/actions/userManagement.js @@ -311,15 +311,15 @@ export const updateUserFinalDay = (user, finalDayDate, isSet) => { * fetching all user profiles basic info * Added `source` parameter to identify the calling component. */ -export const getUserProfileBasicInfo = ({ userId, source }) => { +export const getUserProfileBasicInfo = ({ userId, source } = {}) => { // API request to fetch basic user profile information let userProfileBasicInfoPromise; if (userId) - userProfileBasicInfoPromise = axios.get(`${ENDPOINTS.USER_PROFILE_BASIC_INFO}?userId=${userId}`); + userProfileBasicInfoPromise = axios.get(ENDPOINTS.USER_PROFILE(userId)); else if (source) userProfileBasicInfoPromise = axios.get(ENDPOINTS.USER_PROFILE_BASIC_INFO(source)); else - userProfileBasicInfoPromise = axios.get(ENDPOINTS.USER_PROFILE_BASIC_INFO); + userProfileBasicInfoPromise = axios.get(ENDPOINTS.USER_PROFILES); return async dispatch => { // Dispatch action indicating the start of the fetch process diff --git a/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx b/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx index c37020ea00..26b5b9fc62 100644 --- a/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx +++ b/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx @@ -22,7 +22,7 @@ export default function CreateNewTeam() { ); const [selectedMember, setSelectedMember] = useState(''); const [selectedTask, setSelectedTask] = useState(''); - const [members, setMembers] = useState([]); + const [members, setMembers] = useState(userProfilesBasicInfo || []); // const [tasks, setTasks] = useState([]); const [tasks] = useState([]); const [assignedMembers, setAssignedMembers] = useState([]); @@ -36,6 +36,8 @@ export default function CreateNewTeam() { additionalInformation: false, }); + const user = useSelector(state => state.auth.user); + useEffect(() => { dispatch(getUserProfileBasicInfo()); }, [dispatch]); @@ -138,6 +140,7 @@ export default function CreateNewTeam() { setAssignedTasks([]); setFormData(initialFormState); setErrors({}); + setErrorMessage(''); setTouchedFields({ teamName: false, assignedMembers: false, From 74535801ed1ccb3ab354943891444b6bfb43f5dc Mon Sep 17 00:00:00 2001 From: Aayush Date: Sat, 31 Jan 2026 14:22:20 -0500 Subject: [PATCH 2/6] handled no data --- .../Team/CreateNewTeam/CreateNewTeam.jsx | 50 ++++++++++++------- 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx b/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx index 26b5b9fc62..3c42c687f2 100644 --- a/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx +++ b/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx @@ -22,7 +22,7 @@ export default function CreateNewTeam() { ); const [selectedMember, setSelectedMember] = useState(''); const [selectedTask, setSelectedTask] = useState(''); - const [members, setMembers] = useState(userProfilesBasicInfo || []); + const [members, setMembers] = useState([]); // const [tasks, setTasks] = useState([]); const [tasks] = useState([]); const [assignedMembers, setAssignedMembers] = useState([]); @@ -43,8 +43,8 @@ export default function CreateNewTeam() { }, [dispatch]); useEffect(() => { - setMembers(userProfilesBasicInfo); - }, []); + setMembers(userProfilesBasicInfo || []); + }, [userProfilesBasicInfo]); const validationObj = { additionalInformation: Joi.string() @@ -252,13 +252,19 @@ export default function CreateNewTeam() { onChange={handleMemberChange} className={`${styles.memberDropdown}`} > - - {members.map((user, index) => ( - // eslint-disable-next-line react/no-array-index-key - - ))} + {Array.isArray(members) && members.length > 0 ? ( + <> + + {members.map((user, index) => ( + // eslint-disable-next-line react/no-array-index-key + + ))} + + ) : ( + + )} - From c650c0d19d06b46c79746c5d6a56d49f2274ac76 Mon Sep 17 00:00:00 2001 From: Aayush Date: Sat, 7 Feb 2026 22:22:34 -0500 Subject: [PATCH 3/6] fixed pushed files --- .../Team/CreateNewTeam/CreateNewTeam.jsx | 104 ++++++++++-------- 1 file changed, 61 insertions(+), 43 deletions(-) diff --git a/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx b/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx index 3c42c687f2..4253480910 100644 --- a/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx +++ b/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx @@ -23,8 +23,8 @@ export default function CreateNewTeam() { const [selectedMember, setSelectedMember] = useState(''); const [selectedTask, setSelectedTask] = useState(''); const [members, setMembers] = useState([]); - // const [tasks, setTasks] = useState([]); - const [tasks] = useState([]); + const [tasks, setTasks] = useState([]); + //const [tasks] = useState([]); const [assignedMembers, setAssignedMembers] = useState([]); const [assignedTasks, setAssignedTasks] = useState([]); const [errorMessage, setErrorMessage] = useState(''); @@ -38,8 +38,19 @@ export default function CreateNewTeam() { const user = useSelector(state => state.auth.user); + const dummyTasks = ['Task 1', 'Task 2', 'Task 3', 'Task 4', 'Task 5']; + + const [loadingMembers, setLoadingMembers] = useState(false); useEffect(() => { - dispatch(getUserProfileBasicInfo()); + setLoadingMembers(true); + const result = dispatch(getUserProfileBasicInfo()); + // If the action returns a promise (thunk), handle it + if (result && typeof result.then === 'function') { + result.finally(() => setLoadingMembers(false)); + } else { + setLoadingMembers(false); + } + tasks.length === 0 && setTasks(dummyTasks); }, [dispatch]); useEffect(() => { @@ -65,7 +76,7 @@ export default function CreateNewTeam() { errorMessages[detail.path[0]] = detail.message; }); } - if (assignedMembers.length === 0) { + if ((!data.teamMembers || data.teamMembers.length === 0) && assignedMembers.length === 0) { errorMessages.assignedMembers = 'You must assign at least one member.'; } else { // Clear the assignedMembers error if members have been added @@ -205,6 +216,7 @@ export default function CreateNewTeam() { if (selectedTask && !assignedTasks.includes(selectedTask)) { setAssignedTasks([...assignedTasks, selectedTask]); setSelectedTask(''); + setTaskErrorMessage(''); } }; @@ -221,7 +233,7 @@ export default function CreateNewTeam() {
- + @@ -240,32 +252,36 @@ export default function CreateNewTeam() { )} - +
- - {Array.isArray(members) && members.length > 0 ? ( - <> - - {members.map((user, index) => ( - // eslint-disable-next-line react/no-array-index-key - - ))} - - ) : ( - - )} - + {loadingMembers ? ( +
Loading members...
+ ) : ( + + {Array.isArray(members) && members.length > 0 ? ( + <> + + {members.map((user, index) => ( + // eslint-disable-next-line react/no-array-index-key + + ))} + + ) : ( + + )} + + )}
- {errorMessage && ( + {taskErrorMessage && ( @@ -346,7 +364,9 @@ export default function CreateNewTeam() {
{assignedTasks.length > 0 && ( - + )}
{assignedTasks.map((task, index) => { @@ -357,11 +377,9 @@ export default function CreateNewTeam() { handleRemoveMember(member)} - onKeyDown={e => - (e.key === 'Enter' || e.key === ' ') && handleRemoveMember(member) - } - aria-label={`Remove member ${member}`} + onClick={() => handleRemoveTask(task)} + onKeyDown={e => (e.key === 'Enter' || e.key === ' ') && handleRemoveTask(task)} + aria-label={`Remove task ${task}`} > X @@ -370,7 +388,7 @@ export default function CreateNewTeam() { })}
- + Date: Sat, 18 Apr 2026 18:20:27 -0400 Subject: [PATCH 4/6] resolved error message color issue and submission confirmation --- .../BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx | 4 ++++ .../Team/CreateNewTeam/CreateNewTeam.module.css | 9 +++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx b/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx index 4d63e80e3f..15bbbee776 100644 --- a/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx +++ b/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx @@ -5,6 +5,8 @@ import Joi from 'joi'; import { boxStyle } from '../../../../styles'; import styles from './CreateNewTeam.module.css'; import { getUserProfileBasicInfo } from '../../../../actions/userManagement'; +import {toast} from 'react-toastify'; + const initialFormState = { teamName: '', @@ -131,6 +133,8 @@ export default function CreateNewTeam() { // eslint-disable-next-line no-console console.log('Form Submitted:', updatedFormData); + toast.success('Team created successfully!'); + setSelectedMember(''); setAssignedMembers([]); setSelectedTask(''); diff --git a/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.module.css b/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.module.css index 061c5cb6de..3696a5f126 100644 --- a/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.module.css +++ b/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.module.css @@ -59,16 +59,17 @@ border-color: #e53935; } - .teamFormError { + .addTeamForm .teamFormError { font-weight: 500; font-size: 11px !important; - color: red; + color: red !important; display: flex; justify-content: flex-start; + padding-left: 0; } - .fieldRequired{ - color: red; + .addTeamForm .fieldRequired{ + color: red !important; } .addTeamContainer{ From 4bef3d606288545fec8e5302f6876d046409a591 Mon Sep 17 00:00:00 2001 From: Aayush Date: Sat, 18 Apr 2026 18:25:34 -0400 Subject: [PATCH 5/6] lint fix --- src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx b/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx index 15bbbee776..338d8503ee 100644 --- a/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx +++ b/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx @@ -5,7 +5,7 @@ import Joi from 'joi'; import { boxStyle } from '../../../../styles'; import styles from './CreateNewTeam.module.css'; import { getUserProfileBasicInfo } from '../../../../actions/userManagement'; -import {toast} from 'react-toastify'; +import { toast } from 'react-toastify'; const initialFormState = { From cf50a87aa66106f92a14d4c9bd2dc04c8ed97e5e Mon Sep 17 00:00:00 2001 From: Aayush Date: Sat, 18 Apr 2026 18:41:49 -0400 Subject: [PATCH 6/6] lint fix --- src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx b/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx index 338d8503ee..46256652d7 100644 --- a/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx +++ b/src/components/BMDashboard/Team/CreateNewTeam/CreateNewTeam.jsx @@ -7,7 +7,6 @@ import styles from './CreateNewTeam.module.css'; import { getUserProfileBasicInfo } from '../../../../actions/userManagement'; import { toast } from 'react-toastify'; - const initialFormState = { teamName: '', additionalInformation: '',