import {Component} from '@angular/core'; import {UserService} from "../services/user.service"; import {ReservationService} from "../services/reservation.service"; import {BoatService} from "../services/boat.service"; @Component({ selector: 'app-profile-page', templateUrl: './profile-page.component.html', styleUrls: ['./profile-page.component.css'] }) export class ProfilePageComponent { user_info: any; reservations_info: any[] = []; bills_info: any[] = []; // statusOrder = ['Pending', 'Confirmed', 'Active', 'Completed', 'Cancelled']; compareFn = (a: any, b: any): number => { // Sort by date const dateComparison = a.date.localeCompare(b.date); if (dateComparison !== 0) { return dateComparison; } // Sort by hour return a.startHour - b.startHour; }; constructor(private userService: UserService, private reservationService: ReservationService, private boatService: BoatService) { this.userService.getUser(sessionStorage.getItem("username")!).subscribe( user => { this.user_info = user this.reservationService.findReservationsByUserId(user.id!).subscribe( reservations => { this.reservations_info = reservations.map(r => { r.date = new Date(r.date).toISOString().split("T")[0] return r; }); this.boatService.getBoats().subscribe( boats => { console.log(boats) this.reservations_info.map(r => { r.boatId = boats.find(b => b.id == r.boatId)!.name }) this.reservations_info.sort(this.compareFn) } ) console.log(reservations[0]) } ) }) } isANumber(value: any): boolean { return typeof value === 'number' } deleteAccount() { this.userService.deleteUser(this.user_info.id) this.logout() } sendEmail() { this.userService.pdf(this.user_info.username) } confirmReservation(id: number) { this.reservationService.confirmReservation(id) console.log(id) console.log(this.reservations_info) this.reservations_info.find(r => r.bill.id === id).bill.status = "Confirmed" } cancelReservation(id: number) { this.reservationService.cancelReservation(id) this.reservations_info.find(r => r.bill.id === id).bill.status = "Cancelled" } logout() { sessionStorage.clear() window.location.href = "http://localhost:1410/" } }