diff --git a/web/src/api/queries.ts b/web/src/api/queries.ts index 4d1981b..f24bfbc 100644 --- a/web/src/api/queries.ts +++ b/web/src/api/queries.ts @@ -3,7 +3,7 @@ * SPDX-License-Identifier: GPL-2.0-or-later */ -import { keepPreviousData, queryOptions } from "@tanstack/react-query"; +import { queryOptions } from "@tanstack/react-query"; import { APIClient } from "@api/APIClient"; import { ApiKeys, @@ -133,8 +133,18 @@ export const ReleasesStatsQueryOptions = () => export const ReleasesIndexersQueryOptions = () => queryOptions({ queryKey: ReleaseKeys.indexers(), - queryFn: () => APIClient.release.indexerOptions(), - placeholderData: keepPreviousData, + queryFn: async () => { + const indexersResponse: IndexerDefinition[] = await APIClient.indexers.getAll(); + const indexerOptionsResponse: string[] = await APIClient.release.indexerOptions(); + + const indexersMap = new Map(indexersResponse.map((indexer: IndexerDefinition) => [indexer.identifier, indexer.name])); + + return indexerOptionsResponse.map((identifier: string) => ({ + name: indexersMap.get(identifier) || identifier, + identifier: identifier + })); + }, + refetchOnWindowFocus: false, staleTime: Infinity }); diff --git a/web/src/screens/releases/ReleaseFilters.tsx b/web/src/screens/releases/ReleaseFilters.tsx index c07f25f..700ba57 100644 --- a/web/src/screens/releases/ReleaseFilters.tsx +++ b/web/src/screens/releases/ReleaseFilters.tsx @@ -69,17 +69,20 @@ export const IndexerSelectColumnFilter = ({ }: FilterProps) => { const { data, isSuccess } = useQuery(ReleasesIndexersQueryOptions()); + // Assign indexer name based on the filterValue (indexer.identifier) + const currentIndexerName = data?.find(indexer => indexer.identifier === filterValue)?.name ?? "Indexer"; + // Render a multi-select box return ( {isSuccess && data && data?.map((indexer, idx) => ( - + ))} );