@@ -29,6 +29,9 @@ const EditProjectMembers = ({ projectToEdit }) => {
2929 const [ projectMembers , setProjectMembers ] = useState ( [ ] ) ;
3030 const [ renderedUsers , setRenderedUsers ] = useState ( [ ] ) ;
3131
32+ // Sort users alphabetically by first name
33+ const sortUsers = ( userArr ) => [ ...userArr ] . sort ( ( a , b ) => a . name . firstName . localeCompare ( b . name . firstName ) ) ;
34+
3235 useEffect ( ( ) => {
3336 // Create an array of projectMembers (users) from project's managedByUsers (user IDs)
3437 const fetchProjectMembers = async ( ) => {
@@ -41,8 +44,9 @@ const EditProjectMembers = ({ projectToEdit }) => {
4144 return user ;
4245 } )
4346 ) ;
44- setProjectMembers ( members ) ;
45- setRenderedUsers ( members ) ;
47+ const sortedMembers = sortUsers ( members ) ;
48+ setProjectMembers ( sortedMembers ) ;
49+ setRenderedUsers ( sortedMembers ) ;
4650 } catch ( err ) {
4751 console . log ( err )
4852 }
@@ -123,7 +127,7 @@ const EditProjectMembers = ({ projectToEdit }) => {
123127
124128 setToggleSelect ( true ) ;
125129 if ( ! toggleSelect ) {
126- setRenderedUsers ( ( prevUsers ) => [ ...prevUsers , addedUser ] ) ; // Add user to project's managedByUsers array
130+ setRenderedUsers ( ( prevUsers ) => sortUsers ( [ ...prevUsers , addedUser ] ) ) ; // Add user to project's managedByUsers array
127131 setChangesMade ( true ) ; // Set changes made to true
128132 }
129133 // Confirmation message disappears after 1.5 seconds
@@ -175,7 +179,21 @@ const EditProjectMembers = ({ projectToEdit }) => {
175179 { /* Display error message */ }
176180 { error && ( < Typography color = "red" > { error } </ Typography > ) }
177181 { /* Display project members */ }
178- < ProjectMembersList projectId = { projectToEdit . _id } projectMembers = { projectMembers } editMode = { editMode } setChangesMade = { setChangesMade } closeConfirmModal = { closeConfirmModal } setCloseConfirmModal = { setCloseConfirmModal } setEditMode = { setEditMode } renderedUsers = { renderedUsers } setRenderedUsers = { setRenderedUsers } isLoading = { isLoading } setEmail = { setEmail } setIsLoading = { setIsLoading } />
182+ < ProjectMembersList
183+ projectId = { projectToEdit . _id }
184+ projectMembers = { projectMembers }
185+ editMode = { editMode }
186+ setChangesMade = { setChangesMade }
187+ closeConfirmModal = { closeConfirmModal }
188+ setCloseConfirmModal = { setCloseConfirmModal }
189+ setEditMode = { setEditMode }
190+ renderedUsers = { renderedUsers }
191+ setRenderedUsers = { setRenderedUsers }
192+ sortUsers = { sortUsers }
193+ isLoading = { isLoading }
194+ setEmail = { setEmail }
195+ setIsLoading = { setIsLoading }
196+ />
179197 </ TitledBox >
180198 </ Box >
181199 )
0 commit comments