From c26b540fed4452f4b47e0df4e32fc4a597b478c3 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Wed, 2 Sep 2026 15:22:57 +0200 Subject: [PATCH] feat(match-report): add test mode functionality for lineup confirmation and PIN validation --- .../src/components/MatchReportApiDialog.vue | 36 ++++++++++++++++--- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/frontend/src/components/MatchReportApiDialog.vue b/frontend/src/components/MatchReportApiDialog.vue index 0c8c5e56..6b6600c8 100755 --- a/frontend/src/components/MatchReportApiDialog.vue +++ b/frontend/src/components/MatchReportApiDialog.vue @@ -218,7 +218,7 @@

{{ $t('matchReportApi.homeLineup') }} ({{ meetingData.homeTeamname }})

-
+

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

@@ -237,6 +237,12 @@
+
+ 🧪 Im Testmodus ist keine PIN erforderlich. + +

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

@@ -330,7 +336,7 @@

{{ $t('matchReportApi.guestLineup') }} ({{ meetingData.guestTeamname }})

-
+

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

@@ -350,6 +356,12 @@
+
+ 🧪 Im Testmodus ist keine PIN erforderlich. + +

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

@@ -4456,13 +4468,13 @@ Wir wünschen den Spielen einen schönen, spannenden und fairen Verlauf und begr } const pin = team === 'home' ? this.homePin : this.guestPin; - if (!pin) { + if (!this.isTestMode && !pin) { this.showPinValidation(team, false, 'Keine PIN eingegeben'); return; } // PIN validieren - const isValid = await this.validatePin(team, pin); + const isValid = this.isTestMode || await this.validatePin(team, pin); if (isValid) { // Aufstellung zertifizieren @@ -4655,7 +4667,7 @@ Wir wünschen den Spielen einen schönen, spannenden und fairen Verlauf und begr const pin = team === 'home' ? this.homePin : this.guestPin; // PIN prüfen - if (!pin || pin.length === 0) { + if (!this.isTestMode && (!pin || pin.length === 0)) { return false; } @@ -5152,6 +5164,20 @@ Wir wünschen den Spielen einen schönen, spannenden und fairen Verlauf und begr font-weight: 600; } +.test-lineup-confirmation { + display: flex; + align-items: center; + justify-content: space-between; + flex-wrap: wrap; + gap: 0.75rem; + margin: 0 0 1rem; + padding: 0.75rem 1rem; + border: 1px solid #d78a00; + border-radius: 8px; + background: #fff8df; + color: #795300; +} + .test-data-inspector { display: grid; gap: 8px;