@@ -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