import { Box, CircularProgress } from "@mui/material"; import { useSearchParams } from "react-router-dom"; import { Button } from "../Atoms/Button"; import GovernanceActionCard from "./GovernanceActionCard"; import { ActionsEmptyState } from "./ActionsEmptyState"; import { useGetGovernanceActionsQuery } from "../../hooks/useGetGovernanceActionsQuery"; import { useTranslation } from "../../contexts/I18nContext"; const ITEMS_PER_PAGE = 12; const GovernanceActionsList = () => { const [searchParams] = useSearchParams(); const { t } = useTranslation(); const search = searchParams.get("q") || ""; const typeFilters = searchParams.get("type")?.split(",") || []; const statusFilters = searchParams.get("status")?.split(",") || []; const filters = [...typeFilters, ...statusFilters].filter(Boolean); const sort = searchParams.get("sort") || ""; const { govActions, isGovActionsLoading, fetchNextPage, hasNextPage, isFetchingNextPage, } = useGetGovernanceActionsQuery(search, filters, sort, ITEMS_PER_PAGE); const displayedActions = govActions?.pages?.flat() || []; return ( {isGovActionsLoading && !displayedActions.length ? ( ) : null} {!isGovActionsLoading && !displayedActions.length ? ( ) : null} {displayedActions.length > 0 && ( {displayedActions.map((action) => ( ))} )} {hasNextPage && ( )} ); }; export default GovernanceActionsList;