in packages/graph-explorer/src/modules/SearchSidebar/SearchResultsList.tsx [21:64]
export function SearchResultsList({
query,
}: {
query: UseQueryResult<KeywordSearchResponse | null, Error>;
}) {
const cancelAll = useCancelKeywordSearch();
if (query.isLoading) {
return (
<PanelEmptyState
title="Searching..."
subtitle="Looking for matching results"
actionLabel="Cancel"
onAction={() => cancelAll()}
icon={<LoadingSpinner />}
className="p-8"
/>
);
}
if (query.isError && !query.data) {
return (
<PanelError error={query.error} onRetry={query.refetch} className="p-8" />
);
}
if (
!query.data ||
(query.data.vertices.length === 0 &&
query.data.edges.length === 0 &&
query.data.scalars.length === 0)
) {
return (
<PanelEmptyState
title="No Results"
subtitle="Your criteria does not match with any record"
icon={<SearchSadIcon />}
className="p-8"
/>
);
}
return <LoadedResults {...query.data} />;
}