import { FC, useEffect } from "react"; import { useMutation, useQueryClient } from "react-query"; import { MenuComponent } from "../../../../../../_digifi/assets/ts/components"; import { ID, KTIcon, QUERIES } from "../../../../../../_digifi/helpers"; import { useListView } from "../../core/ListViewProvider"; import { useQueryResponse } from "../../core/QueryResponseProvider"; import { deleteUser } from "../../../core/_requests"; type Props = { id: ID; }; const UserActionsCell: FC = ({ id }) => { const { setItemIdForUpdate } = useListView(); const { query } = useQueryResponse(); const queryClient = useQueryClient(); useEffect(() => { MenuComponent.reinitialization(); }, []); const openEditModal = () => { setItemIdForUpdate(id); }; const deleteItem = useMutation(() => deleteUser(id), { // 💡 response of the mutation is passed to onSuccess onSuccess: () => { // ✅ update detail view directly queryClient.invalidateQueries([`${QUERIES.USERS_LIST}-${query}`]); }, }); return ( <> Actions {/* begin::Menu */}
{/* begin::Menu item */}
Edit
{/* end::Menu item */} {/* begin::Menu item */}
await deleteItem.mutateAsync()} > Resend Verification
{/* end::Menu item */}
{/* end::Menu */} ); }; export { UserActionsCell };