import { Component, computed, inject, input } from '@angular/core'; import { CommonModule } from '@angular/common'; import { NgIcon, provideIcons } from '@ng-icons/core'; import { lucideUserCheck, lucideUserPlus } from '@ng-icons/lucide'; import { FriendService } from '../../application/services/friend.service'; import type { User } from '../../../../shared-kernel'; @Component({ selector: 'app-friend-button', standalone: true, imports: [CommonModule, NgIcon], viewProviders: [provideIcons({ lucideUserCheck, lucideUserPlus })], templateUrl: './friend-button.component.html' }) export class FriendButtonComponent { private readonly friends = inject(FriendService); readonly user = input.required(); readonly userId = computed(() => this.user().oderId || this.user().id); readonly isFriend = computed(() => this.friends.isFriend(this.userId())); toggle(event: Event): void { event.stopPropagation(); void this.friends.toggleFriend(this.userId()); } }