Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | 2x 2x 2x 2x 4x 4x 4x 4x 2x 1x 1x | import { CountsApiService } from './counts-api.service';
import { inject, Injectable, signal } from '@angular/core';
import { LoggerService } from '@drevo-web/core';
export interface HistoryCounts {
readonly pendingArticles: number;
readonly pendingNews: number;
readonly pendingPictures: number;
}
@Injectable({ providedIn: 'root' })
export class HistoryCountsService {
private readonly countsApiService = inject(CountsApiService);
private readonly logger = inject(LoggerService).withContext('HistoryCountsService');
private readonly _counts = signal<HistoryCounts | undefined>(undefined);
readonly counts = this._counts.asReadonly();
loadCounts(): void {
this.countsApiService
.getHistoryCounts()
.subscribe({
next: counts => this._counts.set(counts),
error: error => this.logger.error('Failed to load history counts', error),
});
}
}
|