@@ -15,11 +15,13 @@ import {
1515 SearchFilters ,
1616 FacetCount ,
1717} from '../../services/search.service' ;
18+ import { DatePipe } from '@angular/common' ;
19+ import { MatIcon } from "@angular/material/icon" ;
1820
1921@Component ( {
2022 selector : 'app-search' ,
2123 standalone : true ,
22- imports : [ PageLayoutComponent , TileComponent , RouterLink , SearchBarComponent , FormsModule ] ,
24+ imports : [ PageLayoutComponent , TileComponent , RouterLink , SearchBarComponent , FormsModule , DatePipe , MatIcon ] ,
2325 templateUrl : './search.component.html' ,
2426 styleUrl : './search.component.scss' ,
2527} )
@@ -199,7 +201,26 @@ export class SearchComponent implements OnInit, OnDestroy, AfterViewInit {
199201 this . hasNoResults = false ;
200202 } else {
201203 // Successful API response - check if we have results
202- this . results = results as SearchResult ;
204+ const res = results as SearchResult ;
205+ const hasNonDeleted = res . results ?. some ( group =>
206+ group . entries . some ( e => ! e . deleted )
207+ ) ;
208+ res . results = res . results ?. map ( group => {
209+ const entries = hasNonDeleted
210+ ? group . entries . filter ( e => ! e . deleted )
211+ : group . entries ;
212+
213+ return {
214+ ...group ,
215+ entries,
216+ entriesCount : entries . length
217+ } ;
218+ } ) . filter ( group => group . entries . length > 0 ) || [ ] ;
219+ res . numberOfMatches = res . results . reduce (
220+ ( sum , g ) => sum + g . entries . length ,
221+ 0
222+ ) ;
223+ this . results = res ;
203224 this . facets = facets ;
204225 this . totalPages = this . totalPages = Math . max (
205226 ...( results . results || [ ] ) . map ( group =>
@@ -238,7 +259,7 @@ export class SearchComponent implements OnInit, OnDestroy, AfterViewInit {
238259
239260 get allEntries ( ) : SearchEntry [ ] {
240261 if ( ! this . results ?. results ) return [ ] ;
241- return this . results . results . flatMap ( g => g . entries ) ;
262+ return this . results . results . flatMap ( g => this . filterDeletedEntries ( g . entries ) ) ;
242263 }
243264
244265 toggleFacet ( category : string , value : string ) : void {
@@ -277,6 +298,17 @@ export class SearchComponent implements OnInit, OnDestroy, AfterViewInit {
277298 this . advancedMode = ! this . advancedMode ;
278299 }
279300
301+ private filterDeletedEntries ( entries : SearchEntry [ ] ) : SearchEntry [ ] {
302+ if ( ! entries ?. length ) return [ ] ;
303+
304+ const nonDeleted = entries . filter ( e => ! e . deleted ) ;
305+ if ( nonDeleted . length > 0 ) {
306+ return nonDeleted ;
307+ }
308+
309+ return entries ;
310+ }
311+
280312 private updateQueryParams ( params : Record < string , string | string [ ] | null > ) : void {
281313 this . router . navigate ( [ ] , {
282314 relativeTo : this . route ,
0 commit comments