feat(inquiries): add sidebar nav item, icon, and API endpoint
- Add "Inquiries" nav item to sidebar data with `/inquiries` URL and BriefcaseTimer icon - Implement BriefcaseTimer SVG icon component - Add `INQUIRIES` base endpoint to API_ENDPOINTS - Cleanup: remove commented details button in CmsTable, reorder imports
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
import { API_ENDPOINTS, inquiriesService } from "@/lib/api";
|
||||
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
|
||||
import { useMemo } from "react";
|
||||
import { toast } from "react-toastify";
|
||||
|
||||
export const useGetInquiries = (params?: Record<string, any>) => {
|
||||
const queryKey = useMemo(
|
||||
() => [API_ENDPOINTS.INQUIRIES.BASE(), params],
|
||||
[params],
|
||||
);
|
||||
return useQuery({
|
||||
queryKey,
|
||||
queryFn: () => inquiriesService.getInquiries(params),
|
||||
});
|
||||
};
|
||||
export const useDeleteInquiry = (successCallback?: () => void) => {
|
||||
const queryClient = useQueryClient();
|
||||
const mutationKey = useMemo(
|
||||
() => [API_ENDPOINTS.INQUIRIES.BASE(), "DELETE INQUIRY"],
|
||||
[],
|
||||
);
|
||||
return useMutation({
|
||||
mutationKey,
|
||||
mutationFn: inquiriesService.deleteInquiry,
|
||||
onSuccess: (response) => {
|
||||
toast.success(response.message);
|
||||
successCallback?.();
|
||||
queryClient.invalidateQueries({
|
||||
queryKey: [API_ENDPOINTS.INQUIRIES.BASE()],
|
||||
});
|
||||
},
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user