import { Component, EventEmitter, Input, Output } from '@angular/core'; import { HuntEncounter } from '../../../core/api/game-api.models'; import { DangerBadgeComponent } from '../../../shared/danger-badge/danger-badge.component'; const runtimeArtworkPaths: Readonly> = { '/images/monsters/ash-rat.png': '/images/monsters/runtime/ash-rat-560.jpg', '/images/monsters/road-bandit.png': '/images/monsters/runtime/road-bandit-560.jpg', }; @Component({ selector: 'app-encounter-card', imports: [DangerBadgeComponent], templateUrl: './encounter-card.component.html', styleUrl: './encounter-card.component.scss', }) export class EncounterCardComponent { @Input({ required: true }) encounter!: HuntEncounter; @Output() readonly attack = new EventEmitter(); protected onAttack(): void { this.attack.emit(this.encounter.id); } protected runtimeArtworkPath(artworkPath: string): string | undefined { return runtimeArtworkPaths[artworkPath]; } }