Skip to content

Commit f85212d

Browse files
committed
refactor: pass data
1 parent 594966f commit f85212d

2 files changed

Lines changed: 17 additions & 12 deletions

File tree

apps/web/src/features/admin/pages/ManageUsersPage.tsx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { useAppStore } from '@/store';
1313
import { useDeleteUserMutation } from '../hooks/useDeleteUserMutation';
1414
import { useUpdateUserMutation } from '../hooks/useUpdateUserMutation';
1515
import { useUsersQuery } from '../hooks/useUsersQuery';
16-
import { UpdateUserForm } from './UpdateUserForm';
16+
import { UpdateUserForm, type UpdateUserFormInputData } from './UpdateUserForm';
1717

1818
export 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);

apps/web/src/features/admin/pages/UpdateUserForm.tsx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,17 @@ const $UpdateUserFormData = $UpdateUserData.pick({ additionalPermissions: true }
99

1010
type UpdateUserFormData = z.infer<typeof $UpdateUserFormData>;
1111

12-
export const UpdateUserForm: React.FC<{
12+
export type UpdateUserFormInputData = {
1313
disableDelete: boolean;
1414
initialValues?: FormTypes.PartialNullableData<UpdateUserFormData>;
15+
};
16+
17+
export const UpdateUserForm: React.FC<{
18+
data: UpdateUserFormInputData;
1519
onDelete: () => void;
1620
onSubmit: (data: UpdateUserFormData) => Promisable<void>;
17-
}> = ({ disableDelete, initialValues, onDelete, onSubmit }) => {
21+
}> = ({ data, onDelete, onSubmit }) => {
22+
const { disableDelete, initialValues } = data;
1823
const { t } = useTranslation();
1924
return (
2025
<Form

0 commit comments

Comments
 (0)