@@ -13,7 +13,7 @@ import { useAppStore } from '@/store';
1313import { useDeleteUserMutation } from '../hooks/useDeleteUserMutation' ;
1414import { useUpdateUserMutation } from '../hooks/useUpdateUserMutation' ;
1515import { useUsersQuery } from '../hooks/useUsersQuery' ;
16- import { UpdateUserForm } from './UpdateUserForm' ;
16+ import { UpdateUserForm , type UpdateUserFormInputData } from './UpdateUserForm' ;
1717
1818export const ManageUsersPage = ( ) => {
1919 const currentUser = useAppStore ( ( store ) => store . currentUser ) ;
@@ -24,7 +24,14 @@ export const ManageUsersPage = () => {
2424 const [ selectedUser , setSelectedUser ] = useState < null | User > ( null ) ;
2525 const { filteredData, searchTerm, setSearchTerm } = useSearch ( usersQuery . data ?? [ ] , 'username' ) ;
2626
27- const currentUserIsSelected = selectedUser ?. username === currentUser ?. username ;
27+ const data : UpdateUserFormInputData = {
28+ disableDelete : selectedUser ?. username === currentUser ?. username ,
29+ initialValues : selectedUser ?. additionalPermissions . length
30+ ? {
31+ additionalPermissions : selectedUser . additionalPermissions
32+ }
33+ : undefined
34+ } ;
2835
2936 return (
3037 < Sheet open = { Boolean ( selectedUser ) } onOpenChange = { ( ) => setSelectedUser ( null ) } >
@@ -91,14 +98,7 @@ export const ManageUsersPage = () => {
9198 </ Sheet . Header >
9299 < Sheet . Body className = "grid gap-4" >
93100 < UpdateUserForm
94- disableDelete = { currentUserIsSelected }
95- initialValues = {
96- selectedUser ?. additionalPermissions . length
97- ? {
98- additionalPermissions : selectedUser . additionalPermissions
99- }
100- : undefined
101- }
101+ data = { data }
102102 onDelete = { ( ) => {
103103 deleteUserMutation . mutate ( { id : selectedUser ! . id } ) ;
104104 setSelectedUser ( null ) ;
0 commit comments