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
@@ -0,0 +1,42 @@
"use client";
import {
useDeleteInquiry,
useGetInquiries,
} from "@/hooks/queries/useInquiryQueries";
import { TInquiries } from "@/lib/api";
import { useState } from "react";
const useInquiriesListPresenter = () => {
const [isFilterModalOpen, setIsFilterModalOpen] = useState(false);
const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false);
const [currentInquiry, setCurrentInquiry] = useState<TInquiries | null>(null);
const columns = [
"row",
"company name",
"full name",
"phone number",
"status",
"created at",
"actions",
];
const { data, isPending } = useGetInquiries();
const { mutate } = useDeleteInquiry(() => setIsDeleteModalOpen(false));
const deleteInquiry = () => {
if (!currentInquiry?.id) return;
mutate(currentInquiry.id);
};
return {
columns,
inquiries: data?.data.inquiries,
isFilterModalOpen,
setIsFilterModalOpen,
isPending,
isDeleteModalOpen,
setIsDeleteModalOpen,
currentInquiry,
setCurrentInquiry,
deleteInquiry,
};
};
export default useInquiriesListPresenter;