AltitudeWeb/frontend/src/app/pages/head-mod/staff-pt/staff-pt.component.ts

35 lines
1.1 KiB
TypeScript
Raw Normal View History

import {Component, inject, OnInit, signal} from '@angular/core';
import {SiteService, StaffPlaytime} from '@api';
@Component({
selector: 'app-staff-pt',
imports: [],
templateUrl: './staff-pt.component.html',
styleUrl: './staff-pt.component.scss'
})
export class StaffPtComponent implements OnInit {
siteService = inject(SiteService);
staffPt = signal<StaffPlaytime[]>([])
ngOnInit(): void {
const firstDayOfWeek = new Date();
firstDayOfWeek.setDate(firstDayOfWeek.getDate() - firstDayOfWeek.getDay());
firstDayOfWeek.setHours(0, 0, 0, 0);
const lastDayOfWeek = new Date(firstDayOfWeek);
lastDayOfWeek.setDate(firstDayOfWeek.getDate() + 6);
lastDayOfWeek.setHours(23, 59, 59, 999);
this.loadStaffData(firstDayOfWeek, lastDayOfWeek);
}
loadStaffData(from: Date, to: Date) {
this.siteService.getStaffPlaytime(from.toISOString(), to.toISOString())
.subscribe({
next: data => {
this.staffPt.set(data);
},
error: err => console.error('Error getting staff playtime:', err)
});
}
}