Skip to content

Commit c8e304b

Browse files
committed
fix flashing of no-results
1 parent 7a4ef43 commit c8e304b

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

src/components/OptimadeClient/OptimadeQuerier.jsx

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ export function OptimadeQuerier({
2525
}) {
2626
const [currentFilter, setCurrentFilter] = useState("");
2727
const [currentPage, setCurrentPage] = useState(1);
28+
const [showNoResults, setShowNoResults] = useState(false);
2829

2930
const isCustom = !!customUrl;
3031

@@ -170,8 +171,6 @@ export function OptimadeQuerier({
170171
keepPreviousData: true,
171172
});
172173
const results = resultsData?.data ?? [];
173-
174-
console.log(resultsData)
175174
const metaData = resultsData?.meta ?? { data_returned: 0, data_available: 0 };
176175
const totalPages =
177176
metaData.data_returned != null
@@ -183,6 +182,17 @@ export function OptimadeQuerier({
183182
setSelectedResult(results[0] ?? null);
184183
}, [results]);
185184

185+
useEffect(() => {
186+
if (isLoading || selectedResult || !currentFilter) {
187+
setShowNoResults(false);
188+
return;
189+
}
190+
191+
// delay showing of missing results
192+
const timer = setTimeout(() => setShowNoResults(true), 0);
193+
return () => clearTimeout(timer);
194+
}, [isLoading, selectedResult, currentFilter]);
195+
186196
return (
187197
<>
188198
<div className="pt-4 p-2 w-full flex flex-col gap-2 mx-auto max-w-[650px]">
@@ -281,7 +291,7 @@ export function OptimadeQuerier({
281291
<div className="border-b border-slate-300 py-2" />
282292

283293
{/* No results message */}
284-
{!isLoading && !selectedResult && currentFilter && (
294+
{showNoResults && (
285295
<div className="p-2">
286296
<OptimadeNoResults
287297
queryUrl={selectedChild?.base_url}

0 commit comments

Comments
 (0)