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,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;
|
||||
Reference in New Issue
Block a user