refactor(views): use react-query's isLoadingError instead of reimplementing it

deriveQueryStatus previously inferred "never received data" by checking
data !== undefined itself. TanStack Query already computes and exposes
this exact distinction as isLoadingError (isError && no data) vs
isRefetchError (isError && data present) on every useQuery result, so
consume that directly instead of duplicating the logic.
This commit is contained in:
Claude
2026-08-01 18:59:39 +00:00
parent 9e2dfaab16
commit f7b58f5ebd
7 changed files with 48 additions and 25 deletions
@@ -9,12 +9,12 @@ import { deriveQueryStatus } from '../utils/queryUtils';
const placeholder: CustomFields = {};
export default function useCustomFields() {
const { data, status, isFetching, isError, refetch } = useQuery({
const { data, status, isFetching, isError, isLoadingError, refetch } = useQuery({
queryKey: CUSTOM_FIELDS,
queryFn: ({ signal }) => getCustomFields({ signal }),
placeholderData: (previousData, _previousQuery) => previousData,
refetchInterval: queryRefetchIntervalSlow,
});
return { data: data ?? placeholder, status: deriveQueryStatus(status, data), isFetching, isError, refetch };
return { data: data ?? placeholder, status: deriveQueryStatus(status, isLoadingError), isFetching, isError, refetch };
}