diff --git a/frontend/src/views/OfficialTournaments.vue b/frontend/src/views/OfficialTournaments.vue index cf59b557..ebebaad9 100755 --- a/frontend/src/views/OfficialTournaments.vue +++ b/frontend/src/views/OfficialTournaments.vue @@ -865,8 +865,25 @@ export default { for (const [key, p] of Object.entries(this.participationMap || {})) { if (seen.has(key)) continue; const [competitionId, memberId] = key.split('-'); + seen.add(key); merged.push({ competitionId: String(competitionId), memberId: String(memberId) }); } + + // Ohne Statusfilter soll die Übersicht nicht nur bereits angelegte + // Teilnahmen zeigen, sondern alle aktiven, spielberechtigten Mitglieder. + // So kann auch für ein Mitglied ohne bisherigen Eintrag Interesse an einer + // passenden Konkurrenz gesetzt werden. + for (const member of this.activeMembers) { + for (const competition of comps) { + if (!this.isEligibleForCompetition(member, competition)) continue; + const competitionId = String(competition.id); + const memberId = String(member.id); + const key = `${competitionId}-${memberId}`; + if (seen.has(key)) continue; + seen.add(key); + merged.push({ competitionId, memberId }); + } + } for (const e of merged) { const competitionId = String(e.competitionId); const memberId = String(e.memberId);