import { type FC, useState } from 'react' import { useGetPricing, useDeletePricing } from './hooks/useSettingData' import { type PricingItem } from './types/Types' import PageLoading from '../../components/PageLoading' import Error from '../../components/Error' import Td from '../../components/Td' import Button from '../../components/Button' import AddPricingModal from './components/AddPrcingModal' import EditPricingModal from './components/EditPricingModal' import TrashWithConfrim from '../../components/TrashWithConfrim' import { Edit } from 'iconsax-react' import { toast } from 'react-toastify' const Pricing: FC = () => { const { data, isLoading, error } = useGetPricing(); const deletePricingMutation = useDeletePricing(); const [isModalOpen, setIsModalOpen] = useState(false); const [isEditModalOpen, setIsEditModalOpen] = useState(false); const [selectedPricingItem, setSelectedPricingItem] = useState(null); if (isLoading) { return (
); } if (error) { return (
); } const pricingItems = data?.results?.pricing || []; const handleEditPricing = (pricingItem: PricingItem) => { setSelectedPricingItem(pricingItem); setIsEditModalOpen(true); }; const handleDeletePricing = async (id: string) => { try { await deletePricingMutation.mutateAsync(id); toast.success('قیمت‌گذاری با موفقیت حذف شد'); } catch (error) { const message = (error as { response?: { data?: { message?: string } } })?.response?.data?.message || 'خطا در حذف قیمت‌گذاری'; toast.error(message); } }; return (

مدیریت قیمت‌گذاری

{pricingItems.length === 0 ? ( ) : ( pricingItems.map((item: PricingItem) => ( )) )}
هیچ آیتم قیمت‌گذاری یافت نشد
handleEditPricing(item)} color='#8C90A3' size={16} className="cursor-pointer hover:text-blue-500" /> handleDeletePricing(item._id)} isLoading={deletePricingMutation.isPending} />
setIsModalOpen(false)} /> setIsEditModalOpen(false)} pricingItem={selectedPricingItem} />
) } export default Pricing