feat: add hunt page, combat placeholder, and Jagd navigation
Wires up Slice 0.2 end-to-end: HuntPageComponent renders the hunting-unavailable/ready/loading/encounters-found states off HuntingStore and WorldStore, Angreifen hands the HuntEncounter id to a new inert CombatPlaceholderPageComponent via /combat/new, the Jagd nav entry is enabled with router-driven active state (matching Karte's), and the context panel now lists possible encounters for hunting-enabled locations. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
import { Component, inject } from '@angular/core';
|
||||
import { Router } from '@angular/router';
|
||||
import { EncounterCardComponent } from '../encounter-card/encounter-card.component';
|
||||
import { HuntingStore } from '../hunting.store';
|
||||
import { WorldStore } from '../../world/world.store';
|
||||
|
||||
@Component({
|
||||
selector: 'app-hunt-page',
|
||||
imports: [EncounterCardComponent],
|
||||
templateUrl: './hunt-page.component.html',
|
||||
styleUrl: './hunt-page.component.scss',
|
||||
})
|
||||
export class HuntPageComponent {
|
||||
protected readonly worldStore = inject(WorldStore);
|
||||
protected readonly huntingStore = inject(HuntingStore);
|
||||
private readonly router = inject(Router);
|
||||
|
||||
protected startHunt(): void {
|
||||
void this.huntingStore.startHunt();
|
||||
}
|
||||
|
||||
protected refreshHunt(): void {
|
||||
void this.huntingStore.refreshHunt();
|
||||
}
|
||||
|
||||
protected retry(): void {
|
||||
if (this.huntingStore.currentHunt() === null) {
|
||||
void this.huntingStore.startHunt();
|
||||
} else {
|
||||
void this.huntingStore.refreshHunt();
|
||||
}
|
||||
}
|
||||
|
||||
protected goToWorld(): void {
|
||||
void this.router.navigate(['/world']);
|
||||
}
|
||||
|
||||
protected onAttack(encounterId: string): void {
|
||||
this.huntingStore.selectEncounter(encounterId);
|
||||
void this.router.navigate(['/combat/new'], { queryParams: { encounterId } });
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user