This repository has been archived on 2026-05-07. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Codiki/frontend/src/app/pages/my-publications/my-publications.component.ts
T

46 lines
1.6 KiB
TypeScript

import {Component, inject, OnInit, Signal} from "@angular/core";
import {MatProgressSpinnerModule} from "@angular/material/progress-spinner";
import {MyPublicationsService} from "./my-publications.service";
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";
import {toSignal} from "@angular/core/rxjs-interop";
@Component({
selector: 'app-my-component',
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(): Signal<Publication[]> {
return toSignal(this.myPublicationsService.publications$, {initialValue: []});
}
get isLoading(): Signal<boolean> {
return toSignal(this.myPublicationsService.isLoading$, {initialValue: false});
}
get isLoaded(): Signal<boolean> {
return toSignal(this.myPublicationsService.isLoaded$, {initialValue: false});
}
ngOnInit(): void {
this.myPublicationsService.loadAuthenticatedUserPublications();
}
}