36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
import {Component, OnInit, inject, Signal} from '@angular/core';
|
|
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
import { Observable } from 'rxjs';
|
|
import { PublicationListComponent } from '../../components/publication-list/publication-list.component';
|
|
import { Publication } from '../../core/rest-services/publications/model/publication';
|
|
import { HomeService } from './home.service';
|
|
import { CommonModule } from '@angular/common';
|
|
import {toSignal} from "@angular/core/rxjs-interop";
|
|
|
|
@Component({
|
|
selector: 'app-home',
|
|
imports: [
|
|
CommonModule,
|
|
MatProgressSpinnerModule,
|
|
PublicationListComponent
|
|
],
|
|
templateUrl: './home.component.html',
|
|
styleUrl: './home.component.scss',
|
|
providers: [HomeService]
|
|
})
|
|
export class HomeComponent implements OnInit {
|
|
private homeService = inject(HomeService);
|
|
|
|
get isLoading(): Signal<boolean> {
|
|
return toSignal(this.homeService.isLoading$, { initialValue: false });
|
|
}
|
|
|
|
get publications(): Signal<Publication[]> {
|
|
return toSignal(this.homeService.publications$, { initialValue: [] });
|
|
}
|
|
|
|
ngOnInit(): void {
|
|
this.homeService.startLatestPublicationsRetrieving();
|
|
}
|
|
}
|