Fixed circular calls in audit.tsx

This commit is contained in:
Colin Dawson 2026-01-31 22:37:42 +00:00
parent d868b332f4
commit 7ad4f58801

View File

@ -8,12 +8,9 @@ import { useLocation, useParams } from "react-router-dom";
import { useTranslation } from "react-i18next"; import { useTranslation } from "react-i18next";
import { Namespaces } from "../../i18n/i18n"; import { Namespaces } from "../../i18n/i18n";
const useQuery = () => new URLSearchParams(useLocation().search);
export default function Audit() { export default function Audit() {
const location = useLocation(); const location = useLocation();
const params = useParams(); const params = useParams();
const query = useQuery();
const { t } = useTranslation<typeof Namespaces.Common>(); const { t } = useTranslation<typeof Namespaces.Common>();
const [loaded, setLoaded] = useState(false); const [loaded, setLoaded] = useState(false);
@ -34,17 +31,16 @@ export default function Audit() {
const [filters, setFilters] = useState<Map<string, string>>(new Map()); const [filters, setFilters] = useState<Map<string, string>>(new Map());
const doSearch = useCallback(async () => { const doSearch = useCallback(async () => {
const { page, pageSize } = pagedData;
const auditId = params.auditId ?? ""; const auditId = params.auditId ?? "";
const primaryOnly = query.get("primaryOnly"); const primaryOnly = new URLSearchParams(location.search).get("primaryOnly");
const isPrimaryOnly = const isPrimaryOnly =
primaryOnly === null || primaryOnly.toLowerCase() === "true"; primaryOnly === null || primaryOnly.toLowerCase() === "true";
const result = await auditService.getLog( const result = await auditService.getLog(
auditId, auditId,
isPrimaryOnly, isPrimaryOnly,
page, pagedData.page,
pageSize, pagedData.pageSize,
sortColumn.key, sortColumn.key,
sortColumn.order === "asc", sortColumn.order === "asc",
filters, filters,
@ -56,7 +52,14 @@ export default function Audit() {
} else { } else {
setLoaded(false); setLoaded(false);
} }
}, [pagedData, sortColumn, filters, params.auditId, query]); }, [
pagedData.page,
pagedData.pageSize,
sortColumn,
filters,
params.auditId,
location.search,
]);
const changePage = async (page: number, pageSize: number) => { const changePage = async (page: number, pageSize: number) => {
setPagedData((prev) => ({ setPagedData((prev) => ({