From 281c25b05d6f4829bffbfdcc3176d2a51151ae1b Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Fri, 17 Jul 2026 13:46:25 +0200 Subject: [PATCH] feat: aktualisiere die Version auf 1.8.4 und verbessere die Erkennung von Jugendmannschaften in den Filterfunktionen --- package.json | 2 +- server/utils/mannschaften-spielplan-ids.js | 6 +++--- utils/spielplan-filter.js | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 08c2849..a165628 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "harheimertc-website", - "version": "1.8.3", + "version": "1.8.4", "description": "Moderne Webseite für den Harheimer Tischtennis Club", "private": true, "type": "module", diff --git a/server/utils/mannschaften-spielplan-ids.js b/server/utils/mannschaften-spielplan-ids.js index 72ead0d..3288d16 100644 --- a/server/utils/mannschaften-spielplan-ids.js +++ b/server/utils/mannschaften-spielplan-ids.js @@ -56,7 +56,7 @@ function romanToNumber(value) { function getCmsTeamCriteria(name, league) { const teamName = String(name || '').trim() - const youth = teamName.match(/^jugend\s+j(\d{1,2})(?:\s+([ivx]+|\d+))?\b/i) + const youth = teamName.match(/^jugend(?:mannschaft)?\s+j(\d{1,2})(?:\s+([ivx]+|\d+))?\b/i) if (youth) { const rawNumber = youth[2] return { @@ -67,9 +67,9 @@ function getCmsTeamCriteria(name, league) { // In bestehenden CMS-Daten steht die Altersklasse häufig nur in der Liga, // z. B. Mannschaft "Jugend I" mit Liga "Jugend 13 (J13)". - const ageMatch = `${teamName} ${String(league || '')}`.match(/\b(?:jugend\s*|j\s*\(?)(\d{1,2})\b/i) + const ageMatch = `${teamName} ${String(league || '')}`.match(/\b(?:jugend(?:mannschaft)?\s*|j\s*\(?)(\d{1,2})\b/i) if (ageMatch) { - const ordinal = teamName.match(/^jugend\s+([ivx]+|\d+)\b/i)?.[1] + const ordinal = teamName.match(/^jugend(?:mannschaft)?\s+([ivx]+|\d+)\b/i)?.[1] return { ageClass: `Jugend ${ageMatch[1]}`, teamNumber: ordinal ? (Number(ordinal) || romanToNumber(ordinal)) : null diff --git a/utils/spielplan-filter.js b/utils/spielplan-filter.js index 20462c2..a471137 100644 --- a/utils/spielplan-filter.js +++ b/utils/spielplan-filter.js @@ -54,7 +54,7 @@ function romanToNumber(value) { } function parseJugendTeamKey(teamKey) { - const match = String(teamKey || '').match(/^jugend_?j?(\d{1,2})(?:_([ivx]+|\d+))?$/i) + const match = String(teamKey || '').match(/^jugend(?:mannschaft)?_?j?(\d{1,2})(?:_([ivx]+|\d+))?$/i) if (!match) return null const teamNumber = match[2]