diff --git a/frontend/src/components/MatchReportApiDialog.vue b/frontend/src/components/MatchReportApiDialog.vue index 8667c0af..c22bef87 100755 --- a/frontend/src/components/MatchReportApiDialog.vue +++ b/frontend/src/components/MatchReportApiDialog.vue @@ -205,7 +205,7 @@

{{ $t('matchReportApi.selectedPlayers') }}

-
{{ player.firstname }} {{ player.lastname }}
@@ -248,6 +248,13 @@
+
+ Nur Doppel: + + D{{ player.positionDouble }} · {{ player.firstname }} {{ player.lastname }} + +
+

{{ $t('matchReportApi.availablePlayers') }}

{{ $t('matchReportApi.selectedPlayers') }}

-
{{ player.firstname }} {{ player.lastname }}
@@ -354,6 +361,13 @@
+
+ Nur Doppel: + + D{{ player.positionDouble }} · {{ player.firstname }} {{ player.lastname }} + +
+

{{ $t('matchReportApi.availablePlayers') }}

0 || + (Array.isArray(player?.positions) && player.positions.some(position => /^E\d+$/i.test(String(position)))); + }, + + getDoubleOnlyLineupPlayers(team) { + const teamKey = team === 'home' ? 'teamLineupHomePlayers' : 'teamLineupGuestPlayers'; + return (this.meetingDetails?.[teamKey] || []).filter(player => + player?.isSelected && + player?.nuLigaPersonId > 0 && + player?.positionDouble && + !this.isSingleLineupPlayer(player) + ); + }, + toggleDoublePosition(player, team, doublePosition) { if (this.isLineupLocked(team)) return; if (!this.meetingDetails) return; @@ -4826,6 +4855,10 @@ Wir wünschen den Spielen einen schönen, spannenden und fairen Verlauf und begr }, isLineupLocked(team) { + // Im Testmodus bleiben Aufstellungen auch nach einer Test-Signatur editierbar. + if (this.isTestMode) { + return false; + } return team === 'home' ? this.isHomeLineupCertified : this.isGuestLineupCertified; }, @@ -4835,6 +4868,9 @@ Wir wünschen den Spielen einen schönen, spannenden und fairen Verlauf und begr // Prüfe ob Aufstellung-Tab geöffnet werden kann canOpenLineupTab(team) { + if (this.isTestMode) { + return true; + } if ((team === 'home' && this.teamNotAppeared === 'home') || (team === 'guest' && this.teamNotAppeared === 'guest')) { return false; @@ -5881,6 +5917,29 @@ Wir wünschen den Spielen einen schönen, spannenden und fairen Verlauf und begr padding-bottom: 8px; } +.double-only-markers { + display: flex; + align-items: center; + flex-wrap: wrap; + gap: 0.45rem; + margin: 0.75rem 0 1.25rem; +} + +.double-only-label { + color: #666; + font-size: 0.9em; + font-weight: 600; +} + +.double-only-marker { + padding: 0.25rem 0.5rem; + border-radius: 999px; + background: #fff3cd; + color: #7a5200; + font-size: 0.85em; + font-weight: 600; +} + .player-card.selected { border-color: var(--primary-color); background-color: #f8f9fa;