theme update latest project

This commit is contained in:
Abin Toppo
2026-02-16 10:41:38 +05:30
parent bd7dbd864c
commit a98e0b6cdd
75 changed files with 10173 additions and 7915 deletions
+38
View File
@@ -0,0 +1,38 @@
import { useMutation, UseMutationOptions, useQueryClient } from '@tanstack/react-query';
import apiClient from '../../api/client';
import {
normalizeApiError,
resolveMutationRequest,
} from './apiDebug';
export const useCreate = <T, R>(
resource: string,
options?: UseMutationOptions<R, Error, T>
) => {
const queryClient = useQueryClient();
return useMutation<R, Error, T>({
...options,
mutationFn: async (payload: T) => {
const { url, body } = resolveMutationRequest(resource, payload);
try {
const { data } = await apiClient.post<R>(url, body);
return data;
} catch (error) {
throw normalizeApiError(error);
}
},
onSuccess: (data, variables, onMutateResult, context) => {
const { url } = resolveMutationRequest(resource, variables);
queryClient.invalidateQueries({ queryKey: [url] });
if (resource && resource !== url) {
queryClient.invalidateQueries({ queryKey: [resource] });
}
options?.onSuccess?.(data, variables, onMutateResult, context);
},
onError: (error, variables, onMutateResult, context) => {
options?.onError?.(error, variables, onMutateResult, context);
},
});
};