import { useEffect, useState } from "react"; import { useApiRequest } from "../../../utils/useApiRequest"; import { useModalStore } from "../../../context/zustand-store/appStore"; import Table from "../../../components/Table/Table"; import { Grid } from "../../../components/Grid/Grid"; import Button from "../../../components/Button/Button"; import { Popover } from "../../../components/PopOver/PopOver"; import { Tooltip } from "../../../components/Tooltip/Tooltip"; import { AddQuota } from "./AddQuota"; import { QuotaView } from "./QuotaView"; import { PopoverCustomModalOperation } from "../../../components/PopOverCustomModalOperation/PopoverCustomModalOperation"; import { ArrowDownOnSquareIcon, ArrowUpOnSquareIcon, BarsArrowUpIcon, XMarkIcon, } from "@heroicons/react/24/outline"; import { useNavigate } from "@tanstack/react-router"; import { QUOTAS } from "../../../routes/paths"; import { getQuotaTableColumns, getQuotaTableRowData } from "./quotaTableUtils"; import { QuotaAllocateToStakeHolders } from "./QuotaAllocateToStakeHolders"; import { QuotaDistributionEntryInventory } from "./QuotaDistributionEntryInventory"; import { useUserProfileStore } from "../../../context/zustand-store/userStore"; import { TableButton } from "../../../components/TableButton/TableButton"; import { QuotaActivesDashboardDetails } from "./QuotaActivesDashboardDetails"; import { PaginationParameters } from "../../../components/PaginationParameters/PaginationParameters"; export const QuotaActives = () => { const { openModal } = useModalStore(); const navigate = useNavigate(); const { profile } = useUserProfileStore(); const [pagesInfo, setPagesInfo] = useState({ page: 1, page_size: 10 }); const [pagesTableData, setPagesTableData] = useState([]); const [publicParams, setPublicParams] = useState({ start: null, end: null, search: null, }); const { data: pagesData, refetch } = useApiRequest({ api: "/product/web/api/v1/quota/active_quotas/", method: "get", params: { ...pagesInfo, ...publicParams }, queryKey: ["activeQuotas", pagesInfo], }); const { data: quotasDashboardData, refetch: quotasDashboardRefetch } = useApiRequest({ api: "/product/web/api/v1/quota/quotas_dashboard/", method: "get", params: publicParams, queryKey: ["quotasDashboard"], }); const handleUpdate = () => { refetch(); quotasDashboardRefetch(); }; useEffect(() => { if (pagesData?.results) { const tableData = pagesData.results.map((item: any, i: number) => { return getQuotaTableRowData(item, i, { pagesInfo, renderOperations: (item, index) => (