- @for (element of compilations.results; track element._id) {
+ @for (element of compilations; track element._id) {
+
+
} @else {
- @if (compilations.empty) {
-
- {{ 'You do not have any collections' | translate }}
-
- } @else {
-
- {{ 'No collections found matching your filter criteria' | translate }}
-
- }
+
+ @if ((compilationsSignal()?.length ?? 0) > 0) {
+
{{ 'No collections found matching your filter criteria' | translate }}
+ } @else {
+ {{ 'You do not have any collections and are not participating in any collections by others' | translate }}
+ }
+
}
}
diff --git a/src/app/pages/profile-page/compilations/compilations.component.ts b/src/app/pages/profile-page/compilations/compilations.component.ts
index d23c7235..ac1aad57 100644
--- a/src/app/pages/profile-page/compilations/compilations.component.ts
+++ b/src/app/pages/profile-page/compilations/compilations.component.ts
@@ -7,6 +7,7 @@ import {
inject,
input,
output,
+ signal,
TemplateRef,
viewChild,
viewChildren,
@@ -25,6 +26,7 @@ import { RouterLink } from '@angular/router';
import { combineLatest, firstValueFrom, map } from 'rxjs';
import { GridElementComponent } from 'src/app/components/grid-element/grid-element.component';
+import { Pagination, PaginationComponent } from 'src/app/components/pagination/pagination.component';
import { SelectionContainerComponent } from 'src/app/components/selection/selection-container.component';
import { ManageOwnershipComponent } from 'src/app/dialogs/manage-ownership/manage-ownership.component';
import { TranslatePipe } from 'src/app/pipes';
@@ -38,6 +40,14 @@ import { SelectionService } from 'src/app/services/selection.service';
import { Collection, EntityAccessRole, ICompilation, isCompilation } from '@kompakkt/common';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { IsUserOfRolePipe } from 'src/app/pipes/is-user-of-role.pipe';
+import { ExploreFilterOption } from '../../explore/explore-filter-option/explore-filter-option.component';
+import {
+ AvailableAnnotationOptions,
+ AvailableMiscOptions,
+ reduceExploreFilterOptions,
+ SortOrder,
+} from '../../explore/shared-types';
+import { ExploreFilterSidenavOptionsService } from '../../explore/explore-filter-sidenav/explore-filter-sidenav.component';
@Component({
selector: 'app-profile-compilations',
@@ -60,6 +70,7 @@ import { IsUserOfRolePipe } from 'src/app/pipes/is-user-of-role.pipe';
IsUserOfRolePipe,
SelectionContainerComponent,
MatCheckboxModule,
+ PaginationComponent,
],
})
export class ProfileCompilationsComponent implements AfterViewInit {
@@ -69,6 +80,7 @@ export class ProfileCompilationsComponent implements AfterViewInit {
#dialogHelper = inject(DialogHelperService);
#rootSelectionService = inject(SelectionService);
#snackbar = inject(SnackbarService);
+ #sidenavOptionsService = inject(ExploreFilterSidenavOptionsService);
gridItems = viewChildren