v-tarasevich-blitz-brain 19fd17406d
fix(customHomePage): bring fixes from Saas (#14368)
Co-authored-by: Chris Collins <chriscollins3456@gmail.com>
Co-authored-by: purnimagarg1 <139125209+purnimagarg1@users.noreply.github.com>
2025-08-07 14:07:23 -04:00

36 lines
1013 B
TypeScript

import { useEffect, useMemo, useState } from 'react';
import { useGetEntitiesQuery } from '@graphql/entity.generated';
import { Entity } from '@types';
export function useGetEntities(
urns: string[],
checkForExistence?: boolean,
): {
entities: Entity[];
loading: boolean;
} {
const verifiedUrns = useMemo(
() => urns.filter((urn) => typeof urn === 'string' && urn.startsWith('urn:li:')),
[urns],
);
const { data, loading } = useGetEntitiesQuery({
variables: { urns: verifiedUrns, checkForExistence },
skip: !verifiedUrns.length,
fetchPolicy: 'cache-first',
});
const [entities, setEntities] = useState<Entity[]>([]);
useEffect(() => {
if (data?.entities && data.entities.length > 0) {
setEntities(data.entities as Entity[]);
} else if (!loading && (!data?.entities || data.entities.length === 0)) {
setEntities([]);
}
}, [data, loading]);
return { entities, loading };
}