Files
codiki-hexagonal/frontend/src/app/pages/my-publications/my-publications.component.ts
2024-10-22 08:17:07 +02:00

46 lines
1.6 KiB
TypeScript

import { Component, inject, OnInit } from "@angular/core";
import { MatProgressSpinnerModule } from "@angular/material/progress-spinner";
import { MyPublicationsService } from "./my-publications.service";
import { Observable } from "rxjs";
import { PublicationListComponent } from "../../components/publication-list/publication-list.component";
import { Publication } from "../../core/rest-services/publications/model/publication";
import { CommonModule } from "@angular/common";
import { RouterModule } from "@angular/router";
import { MatTooltipModule } from "@angular/material/tooltip";
import { MatRippleModule } from "@angular/material/core";
@Component({
selector: 'app-my-component',
standalone: true,
templateUrl: './my-publications.component.html',
styleUrl: './my-publications.component.scss',
imports: [
CommonModule,
MatProgressSpinnerModule,
MatRippleModule,
MatTooltipModule,
PublicationListComponent,
RouterModule
],
providers: [MyPublicationsService]
})
export class MyPublicationsComponent implements OnInit {
private readonly myPublicationsService = inject(MyPublicationsService);
get publications$(): Observable<Publication[]> {
return this.myPublicationsService.publications$;
}
get isLoading$(): Observable<boolean> {
return this.myPublicationsService.isLoading$;
}
get isLoaded$(): Observable<boolean> {
return this.myPublicationsService.isLoaded$;
}
ngOnInit(): void {
this.myPublicationsService.loadAuthenticatedUserPublications();
}
}