import { Component, inject, output } from '@angular/core'; import { CommonModule } from '@angular/common'; import { firstValueFrom } from 'rxjs'; import { TeamMember } from '../interfaces/team-member'; import { TeamMemberService } from '../services/team-member.service'; @Component({ selector: 'app-admin-team-tab', standalone: true, imports: [CommonModule], templateUrl: './admin-team-tab.component.html', styleUrl: './admin-team-tab.component.scss', }) export class AdminTeamTabComponent { private teamMemberService = inject(TeamMemberService); readonly openForm = output(); readonly editItem = output(); readonly deleteItem = output(); readonly members$ = this.teamMemberService.getTeamMembers(); ngOnInit(): void { this.load(); } async load(): Promise { await firstValueFrom(this.teamMemberService.getTeamMembers()); } onAdd(): void { this.openForm.emit(); } onEdit(member: TeamMember): void { this.editItem.emit(member); } async onDelete(id: number): Promise { if (!confirm('Delete this team member?')) return; await firstValueFrom(this.teamMemberService.deleteTeamMember(id)); await this.load(); } }