fix: harden world travel presentation

This commit is contained in:
Bastian Wagner
2026-08-19 08:51:26 +02:00
parent 1e2bfe6e4b
commit 1a30eb3491
15 changed files with 238 additions and 37 deletions

View File

@@ -18,7 +18,7 @@
</svg>
<app-location-node
class="world-page__node world-page__node--current"
[class]="'world-page__node world-page__node--' + location.key"
[location]="{ id: location.id, key: location.key, name: location.name }"
[current]="true"
[disabled]="true"
@@ -26,25 +26,25 @@
@for (connection of location.connections; track connection.targetLocation.id) {
<app-location-node
class="world-page__node world-page__node--reachable"
[class]="'world-page__node world-page__node--' + connection.targetLocation.key"
[location]="connection.targetLocation"
[selected]="
worldStore.selectedConnection()?.targetLocation?.id === connection.targetLocation.id
"
[disabled]="worldStore.currentTravel()?.status === 'TRAVELLING'"
[disabled]="worldStore.loading() || worldStore.currentTravel()?.status !== 'IDLE'"
(choose)="selectConnection(connection)"
/>
}
<app-travel-panel
class="world-page__travel-panel"
[selectedConnection]="worldStore.selectedConnection()"
[currentTravel]="worldStore.currentTravel()"
[remainingSeconds]="worldStore.remainingSeconds()"
[busy]="worldStore.loading()"
(travelStart)="worldStore.startTravel()"
/>
</section>
<app-travel-panel
class="world-page__travel-panel"
[selectedConnection]="worldStore.selectedConnection()"
[currentTravel]="worldStore.currentTravel()"
[remainingSeconds]="worldStore.remainingSeconds()"
[busy]="worldStore.loading()"
(travelStart)="worldStore.startTravel()"
/>
} @else {
<section class="world-page__empty" aria-live="polite">
<p>Weltkarte wird vorbereitet.</p>
@@ -58,7 +58,7 @@
@if (worldStore.error(); as error) {
<section class="world-page__error" role="alert">
<p>{{ error }}</p>
<button type="button" (click)="retry()">Erneut versuchen</button>
<button type="button" data-world-retry (click)="retry()">Erneut versuchen</button>
</section>
}
</section>