Erweiterung der Teamformatierungsfunktionen um Altersgruppen für bessere Anzeige in Spielplänen
This commit is contained in:
@@ -1,22 +1,30 @@
|
||||
/**
|
||||
* Makes youth teams identifiable while retaining the team name supplied by
|
||||
* click-TT. Age groups occur in a few forms, for example "Jugend 13",
|
||||
* "Jugend 13 1. Kreisklasse", and "J13".
|
||||
* "Jugend 13 1. Kreisklasse", and "J13". Some imports provide the age
|
||||
* only for the whole fixture, therefore `competitionAgeGroup` is considered
|
||||
* as a fallback.
|
||||
*/
|
||||
export function youthTeamCode(teamAgeGroup, teamName = '') {
|
||||
const ageGroup = String(teamAgeGroup || '').trim()
|
||||
export function youthTeamCode(teamAgeGroup, teamName = '', competitionAgeGroup = '') {
|
||||
const ageGroup = [teamAgeGroup, competitionAgeGroup]
|
||||
.map(value => String(value || '').trim())
|
||||
.filter(Boolean)
|
||||
.join(' ')
|
||||
const name = String(teamName || '').trim()
|
||||
const codeMatch = ageGroup.match(/\b(?:jugend\s*|j\s*)(\d{1,2})\b/i)
|
||||
const codeMatch = `${ageGroup} ${name}`.match(/\b(?:jugend\s*|j\s*\(?)(\d{1,2})\b/i)
|
||||
|
||||
if (codeMatch) return `J${codeMatch[1]}`
|
||||
if (/\bjugend\b/i.test(ageGroup) || /\bjugend\b/i.test(name)) return 'J'
|
||||
return ''
|
||||
}
|
||||
|
||||
export function formatTeamDisplayName(teamName, teamAgeGroup) {
|
||||
const name = String(teamName || '').trim()
|
||||
if (!name) return ''
|
||||
export function formatTeamDisplayName(teamName, teamAgeGroup, competitionAgeGroup = '') {
|
||||
const rawName = String(teamName || '').trim()
|
||||
if (!rawName) return ''
|
||||
|
||||
const youthCode = youthTeamCode(teamAgeGroup, name)
|
||||
const youthCode = youthTeamCode(teamAgeGroup, rawName, competitionAgeGroup)
|
||||
const name = youthCode
|
||||
? rawName.replace(/\s*\(J\d{1,2}\)\s*$/i, '').trim()
|
||||
: rawName
|
||||
return youthCode ? `(${youthCode}) ${name}` : name
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user