Convert all mutate to mutateAsync.

This commit is contained in:
Mike Cao 2025-09-22 22:39:25 -07:00
parent 980e4e6b41
commit 6faf16e9aa
32 changed files with 78 additions and 97 deletions

View file

@ -10,10 +10,10 @@ import {
export function TeamAddForm({ onSave, onClose }: { onSave: () => void; onClose: () => void }) {
const { formatMessage, labels, getErrorMessage } = useMessages();
const { mutate, error, isPending } = useUpdateQuery('/teams');
const { mutateAsync, error, isPending } = useUpdateQuery('/teams');
const handleSubmit = async (data: any) => {
mutate(data, {
await mutateAsync(data, {
onSuccess: async () => {
onSave?.();
onClose?.();

View file

@ -10,10 +10,10 @@ import { useMessages, useUpdateQuery } from '@/components/hooks';
export function TeamJoinForm({ onSave, onClose }: { onSave: () => void; onClose: () => void }) {
const { formatMessage, labels, getErrorMessage } = useMessages();
const { mutate, error, isPending, touch } = useUpdateQuery('/teams/join');
const { mutateAsync, error, touch } = useUpdateQuery('/teams/join');
const handleSubmit = async (data: any) => {
mutate(data, {
await mutateAsync(data, {
onSuccess: async () => {
touch('teams:members');
onSave?.();
@ -33,9 +33,7 @@ export function TeamJoinForm({ onSave, onClose }: { onSave: () => void; onClose:
</FormField>
<FormButtons>
<Button onPress={onClose}>{formatMessage(labels.cancel)}</Button>
<FormSubmitButton variant="primary" isLoading={isPending} isDisabled={isPending}>
{formatMessage(labels.join)}
</FormSubmitButton>
<FormSubmitButton variant="primary">{formatMessage(labels.join)}</FormSubmitButton>
</FormButtons>
</Form>
);

View file

@ -15,11 +15,11 @@ export function TeamLeaveForm({
onClose: () => void;
}) {
const { formatMessage, labels, messages, getErrorMessage } = useMessages();
const { mutate, error, isPending } = useDeleteQuery(`/teams/${teamId}/users/${userId}`);
const { mutateAsync, error, isPending } = useDeleteQuery(`/teams/${teamId}/users/${userId}`);
const { touch } = useModified();
const handleConfirm = async () => {
mutate(null, {
await mutateAsync(null, {
onSuccess: async () => {
touch('teams:members');
onSave();

View file

@ -13,10 +13,10 @@ export function TeamDeleteForm({
onClose?: () => void;
}) {
const { labels, formatMessage, getErrorMessage } = useMessages();
const { mutate, error, isPending, touch } = useDeleteQuery(`/teams/${teamId}`);
const { mutateAsync, error, isPending, touch } = useDeleteQuery(`/teams/${teamId}`);
const handleConfirm = async () => {
mutate(null, {
await mutateAsync(null, {
onSuccess: async () => {
touch('teams');
onSave?.();

View file

@ -25,10 +25,10 @@ export function TeamEditForm({
const team = useTeam();
const { formatMessage, labels, messages, getErrorMessage } = useMessages();
const { mutate, error, isPending, touch, toast } = useUpdateQuery(`/teams/${teamId}`);
const { mutateAsync, error, isPending, touch, toast } = useUpdateQuery(`/teams/${teamId}`);
const handleSubmit = async (data: any) => {
mutate(data, {
await mutateAsync(data, {
onSuccess: async () => {
toast(formatMessage(messages.saved));
touch('teams');

View file

@ -23,11 +23,11 @@ export function TeamMemberEditForm({
onSave?: () => void;
onClose?: () => void;
}) {
const { mutate, error, isPending } = useUpdateQuery(`/teams/${teamId}/users/${userId}`);
const { mutateAsync, error, isPending } = useUpdateQuery(`/teams/${teamId}/users/${userId}`);
const { formatMessage, labels, getErrorMessage } = useMessages();
const handleSubmit = async (data: any) => {
mutate(data, {
await mutateAsync(data, {
onSuccess: async () => {
onSave();
onClose();

View file

@ -18,11 +18,11 @@ export function TeamMemberRemoveButton({
onSave?: () => void;
}) {
const { formatMessage, labels } = useMessages();
const { mutate, isPending, error } = useDeleteQuery(`/teams/${teamId}/users/${userId}`);
const { mutateAsync, isPending, error } = useDeleteQuery(`/teams/${teamId}/users/${userId}`);
const { touch } = useModified();
const handleConfirm = (close: () => void) => {
mutate(null, {
await mutateAsync(null, {
onSuccess: () => {
touch('teams:members');
onSave?.();

View file

@ -1,13 +1,13 @@
import { useDeleteQuery, useMessages } from '@/components/hooks';
import { Icon, LoadingButton, Text } from '@umami/react-zen';
import { Close } from '@/components/icons';
import { X } from '@/components/icons';
export function TeamWebsiteRemoveButton({ teamId, websiteId, onSave }) {
const { formatMessage, labels } = useMessages();
const { mutate, isPending } = useDeleteQuery(`/teams/${teamId}/websites/${websiteId}`);
const { mutateAsync } = useDeleteQuery(`/teams/${teamId}/websites/${websiteId}`);
const handleRemoveTeamMember = async () => {
mutate(null, {
await mutateAsync(null, {
onSuccess: () => {
onSave();
},
@ -15,9 +15,9 @@ export function TeamWebsiteRemoveButton({ teamId, websiteId, onSave }) {
};
return (
<LoadingButton variant="quiet" onClick={() => handleRemoveTeamMember()} isLoading={isPending}>
<LoadingButton variant="quiet" onClick={() => handleRemoveTeamMember()}>
<Icon>
<Close />
<X />
</Icon>
<Text>{formatMessage(labels.remove)}</Text>
</LoadingButton>