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

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

View file

@ -33,12 +33,10 @@ export function FunnelEditForm({
}) {
const { formatMessage, labels } = useMessages();
const { data } = useReportQuery(id);
const { mutate, error, isPending, touch } = useUpdateQuery(`/reports${id ? `/${id}` : ''}`);
const { mutateAsync, error, isPending, touch } = useUpdateQuery(`/reports${id ? `/${id}` : ''}`);
const handleSubmit = async ({ name, ...parameters }) => {
//
mutate(
await mutateAsync(
{ ...data, id, name, type: 'funnel', websiteId, parameters },
{
onSuccess: async () => {

View file

@ -27,10 +27,10 @@ export function GoalEditForm({
}) {
const { formatMessage, labels } = useMessages();
const { data } = useReportQuery(id);
const { mutate, error, isPending, touch } = useUpdateQuery(`/reports${id ? `/${id}` : ''}`);
const { mutateAsync, error, isPending, touch } = useUpdateQuery(`/reports${id ? `/${id}` : ''}`);
const handleSubmit = async (formData: Record<string, any>) => {
mutate(
await mutateAsync(
{ ...formData, type: 'goal', websiteId },
{
onSuccess: async () => {

View file

@ -17,12 +17,12 @@ export function CohortDeleteButton({
onSave?: () => void;
}) {
const { formatMessage, labels } = useMessages();
const { mutate, isPending, error, touch } = useDeleteQuery(
const { mutateAsync, isPending, error, touch } = useDeleteQuery(
`/websites/${websiteId}/segments/${cohortId}`,
);
const handleConfirm = (close: () => void) => {
mutate(null, {
await mutateAsync(null, {
onSuccess: () => {
touch('cohorts');
onSave?.();

View file

@ -33,7 +33,7 @@ export function CohortEditForm({
const { data } = useWebsiteCohortQuery(websiteId, cohortId);
const { formatMessage, labels, messages, getErrorMessage } = useMessages();
const { mutate, error, isPending, touch, toast } = useUpdateQuery(
const { mutateAsync, error, isPending, touch, toast } = useUpdateQuery(
`/websites/${websiteId}/segments${cohortId ? `/${cohortId}` : ''}`,
{
type: 'cohort',
@ -41,7 +41,7 @@ export function CohortEditForm({
);
const handleSubmit = async (formData: any) => {
mutate(formData, {
await mutateAsync(formData, {
onSuccess: async () => {
toast(formatMessage(messages.saved));
touch('cohorts');

View file

@ -17,12 +17,12 @@ export function SegmentDeleteButton({
onSave?: () => void;
}) {
const { formatMessage, labels } = useMessages();
const { mutate, isPending, error, touch } = useDeleteQuery(
const { mutateAsync, isPending, error, touch } = useDeleteQuery(
`/websites/${websiteId}/segments/${segmentId}`,
);
const handleConfirm = (close: () => void) => {
mutate(null, {
await mutateAsync(null, {
onSuccess: () => {
touch('segments');
onSave?.();

View file

@ -30,7 +30,7 @@ export function SegmentEditForm({
const { data } = useWebsiteSegmentQuery(websiteId, segmentId);
const { formatMessage, labels, getErrorMessage } = useMessages();
const { mutate, error, isPending, touch, toast } = useUpdateQuery(
const { mutateAsync, error, isPending, touch, toast } = useUpdateQuery(
`/websites/${websiteId}/segments${segmentId ? `/${segmentId}` : ''}`,
{
type: 'segment',
@ -38,7 +38,7 @@ export function SegmentEditForm({
);
const handleSubmit = async (formData: any) => {
mutate(formData, {
await mutateAsync(formData, {
onSuccess: async () => {
toast(formatMessage(messages.saved));
touch('segments');

View file

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

View file

@ -5,10 +5,10 @@ import { DOMAIN_REGEX } from '@/lib/constants';
export function WebsiteEditForm({ websiteId, onSave }: { websiteId: string; onSave?: () => void }) {
const website = useWebsite();
const { formatMessage, labels, messages, getErrorMessage } = useMessages();
const { mutate, error, touch, toast, isPending } = useUpdateQuery(`/websites/${websiteId}`);
const { mutateAsync, error, touch, toast } = useUpdateQuery(`/websites/${websiteId}`);
const handleSubmit = async (data: any) => {
mutate(data, {
await mutateAsync(data, {
onSuccess: async () => {
toast(formatMessage(messages.saved));
touch(`website:${website.id}`);
@ -45,12 +45,7 @@ export function WebsiteEditForm({ websiteId, onSave }: { websiteId: string; onSa
<TextField />
</FormField>
<FormButtons>
<FormSubmitButton
data-test="button-submit"
variant="primary"
isLoading={isPending}
isDisabled={isPending}
>
<FormSubmitButton data-test="button-submit" variant="primary">
{formatMessage(labels.save)}
</FormSubmitButton>
</FormButtons>

View file

@ -13,10 +13,10 @@ export function WebsiteResetForm({
onClose?: () => void;
}) {
const { formatMessage, labels } = useMessages();
const { mutate, isPending, error } = useUpdateQuery(`/websites/${websiteId}/reset`);
const { mutateAsync, isPending, error } = useUpdateQuery(`/websites/${websiteId}/reset`);
const handleConfirm = async () => {
mutate(null, {
await mutateAsync(null, {
onSuccess: async () => {
onSave?.();
onClose?.();

View file

@ -25,7 +25,7 @@ export interface WebsiteShareFormProps {
export function WebsiteShareForm({ websiteId, shareId, onSave, onClose }: WebsiteShareFormProps) {
const { formatMessage, labels, messages, getErrorMessage } = useMessages();
const [id, setId] = useState(shareId);
const { mutate, error, isPending, touch, toast } = useUpdateQuery(`/websites/${websiteId}`);
const { mutateAsync, error, touch, toast } = useUpdateQuery(`/websites/${websiteId}`);
const url = `${window?.location.origin || ''}${process.env.basePath || ''}/share/${id}`;
@ -37,11 +37,11 @@ export function WebsiteShareForm({ websiteId, shareId, onSave, onClose }: Websit
setId(id ? null : generateId());
};
const handleSave = () => {
const handleSave = async () => {
const data = {
shareId: id,
};
mutate(data, {
await mutateAsync(data, {
onSuccess: async () => {
toast(formatMessage(messages.saved));
touch(`website:${websiteId}`);
@ -69,9 +69,7 @@ export function WebsiteShareForm({ websiteId, shareId, onSave, onClose }: Websit
</Row>
<Row alignItems="center" gap>
{onClose && <Button onPress={onClose}>{formatMessage(labels.cancel)}</Button>}
<FormSubmitButton isDisabled={false} isLoading={isPending}>
{formatMessage(labels.save)}
</FormSubmitButton>
<FormSubmitButton isDisabled={false}>{formatMessage(labels.save)}</FormSubmitButton>
</Row>
</FormButtons>
</Column>

View file

@ -32,7 +32,7 @@ export function WebsiteTransferForm({
const website = useWebsite();
const [teamId, setTeamId] = useState<string>(null);
const { formatMessage, labels, messages, getErrorMessage } = useMessages();
const { mutate, error, isPending } = useUpdateQuery(`/websites/${websiteId}/transfer`);
const { mutateAsync, error, isPending } = useUpdateQuery(`/websites/${websiteId}/transfer`);
const { data: teams, isLoading } = useUserTeamsQuery(user.id);
const isTeamWebsite = !!website?.teamId;
@ -45,7 +45,7 @@ export function WebsiteTransferForm({
) || [];
const handleSubmit = async () => {
mutate(
await mutateAsync(
{
userId: website.teamId ? user.id : undefined,
teamId: website.userId ? teamId : undefined,