(idx, key, value)
| 474 | const removeUser = (idx) => setUsers(users.filter((_, i) => i !== idx)); |
| 475 | |
| 476 | const updateUser = (idx, key, value) => { |
| 477 | const newUsers = [...users]; |
| 478 | newUsers[idx] = { ...newUsers[idx] }; |
| 479 | |
| 480 | if (key.includes('.')) { |
| 481 | const [p, c] = key.split('.'); |
| 482 | newUsers[idx][p] = { ...newUsers[idx][p], [c]: value }; |
| 483 | } else { |
| 484 | newUsers[idx][key] = value; |
| 485 | } |
| 486 | setUsers(newUsers); |
| 487 | }; |
| 488 | |
| 489 | const addSubItem = (userIdx, field, item) => { |
| 490 | const newUsers = [...users]; |