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:
AmirReza Jamali
2025-11-25 12:03:12 +03:30
parent 2389ad1bbf
commit 6d4016af5e
13 changed files with 346 additions and 16 deletions
+33
View File
@@ -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()],
});
},
});
};