diff --git a/adminfront/src/features/users/UserCreatePage.tsx b/adminfront/src/features/users/UserCreatePage.tsx index c6b83fb3..01622ab3 100644 --- a/adminfront/src/features/users/UserCreatePage.tsx +++ b/adminfront/src/features/users/UserCreatePage.tsx @@ -290,9 +290,15 @@ function UserCreatePage() { patch: Partial, ) => { setAdditionalAppointments((current) => - current.map((appointment, currentIndex) => - currentIndex === index ? { ...appointment, ...patch } : appointment, - ), + current.map((appointment, currentIndex) => { + if (currentIndex === index) { + return { ...appointment, ...patch }; + } + if (patch.isOwner === true) { + return { ...appointment, isOwner: false }; + } + return appointment; + }), ); }; diff --git a/adminfront/src/features/users/UserDetailPage.tsx b/adminfront/src/features/users/UserDetailPage.tsx index 501c3017..f115e165 100644 --- a/adminfront/src/features/users/UserDetailPage.tsx +++ b/adminfront/src/features/users/UserDetailPage.tsx @@ -536,9 +536,15 @@ function UserDetailPage() { patch: Partial, ) => { setAdditionalAppointments((current) => - current.map((appointment, currentIndex) => - currentIndex === index ? { ...appointment, ...patch } : appointment, - ), + current.map((appointment, currentIndex) => { + if (currentIndex === index) { + return { ...appointment, ...patch }; + } + if (patch.isOwner === true) { + return { ...appointment, isOwner: false }; + } + return appointment; + }), ); }; @@ -1168,6 +1174,7 @@ function UserDetailPage() { isOwner: checked === true, }) } + disabled={appointment.isPrimary} aria-label={t( "ui.admin.users.detail.form.appointment_owner", "๋Œ€ํ‘œ ์กฐ์ง",