35 lines
1.1 KiB
TypeScript
35 lines
1.1 KiB
TypeScript
|
|
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)
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|