@@ -207,15 +207,18 @@ export default function SettingsForms({ dataForm }: { dataForm: any }) {
207207
208208 const [ usernamePeopleToAdd , setUsernamePeopleToAdd ] = useState ( "" )
209209 const [ checkIfUsernameExist , setCheckIfUsernameExist ] = useState ( false )
210- const addOrRemoveCollaborator = async ( pseudo : string ) => {
210+ const addCollaborator = async ( pseudo : string ) => {
211211 setCheckIfUsernameExist ( true )
212212 checkIdAvailability ( "users" , pseudo )
213213 . then ( ( isAvailable ) => {
214214 if ( isAvailable ) {
215215 let updatedFormData = {
216- collaborators : dataForm . collaborators . includes ( pseudo )
217- ? dataForm . collaborators . filter ( ( item ) => item !== pseudo )
218- : [ ...dataForm . collaborators , pseudo ] ,
216+ collaborators : [
217+ ...dataForm . collaborators ,
218+ {
219+ pseudo : pseudo ,
220+ } ,
221+ ] ,
219222 }
220223
221224 updateFormDocument ( { id, updatedFormData } )
@@ -234,6 +237,15 @@ export default function SettingsForms({ dataForm }: { dataForm: any }) {
234237 setCheckIfUsernameExist ( false )
235238 } )
236239 }
240+ const removeCollaborator = async ( pseudo : string ) => {
241+ let updatedFormData = {
242+ collaborators : dataForm . collaborators . filter (
243+ ( item ) => item . pseudo !== pseudo
244+ ) ,
245+ }
246+
247+ updateFormDocument ( { id, updatedFormData } )
248+ }
237249
238250 const onSubmit = async ( data ) => {
239251 const {
@@ -403,7 +415,7 @@ export default function SettingsForms({ dataForm }: { dataForm: any }) {
403415 className = "shrink-0"
404416 onClick = { ( ) => {
405417 setUsernamePeopleToAdd ( "" )
406- addOrRemoveCollaborator ( usernamePeopleToAdd )
418+ addCollaborator ( usernamePeopleToAdd )
407419 } }
408420 >
409421 { checkIfUsernameExist && (
@@ -416,23 +428,23 @@ export default function SettingsForms({ dataForm }: { dataForm: any }) {
416428 < div className = "w-full flex flex-col gap-2" >
417429 { dataForm . collaborators . map ( ( collaborator , index ) => (
418430 < div
419- key = { collaborator }
431+ key = { collaborator . pseudo }
420432 className = "w-full flex items-center bg-slate-50 dark:bg-slate-800 py-3 px-5 rounded-md"
421433 >
422434 < div className = "w-full flex" >
423435 < a
424- href = { `/user/${ collaborator } ` }
436+ href = { `/user/${ collaborator . pseudo } ` }
425437 className = "text-sm font-semibold underline underline-offset-4 cursor-pointer"
426438 >
427- { collaborator }
439+ { collaborator . pseudo }
428440 </ a >
429441 </ div >
430442 < span
431443 className = "shrink-0 block text-sm text-red-600 font-medium underline underline-offset-4 cursor-pointer"
432444 onClick = { ( ) => {
433445 isLoadingUpdateForm
434446 ? undefined
435- : addOrRemoveCollaborator ( collaborator )
447+ : removeCollaborator ( collaborator . pseudo )
436448 } }
437449 >
438450 Remove
0 commit comments