Fix: Replace all $t() calls with t() in TeamManagementView template to match Composition API setup

This commit is contained in:
Torsten Schulz (local)
2025-11-21 14:10:01 +01:00
parent 5d4f2ebd4b
commit 0285c05fa6

View File

@@ -1,6 +1,6 @@
<template>
<div>
<h2>{{ $t('teamManagement.title') }}</h2>
<h2>{{ t('teamManagement.title') }}</h2>
<SeasonSelector
v-model="selectedSeasonId"
@@ -11,24 +11,24 @@
<!-- Automatische Jobs Info -->
<div v-if="schedulerJobs.rating_updates || schedulerJobs.match_results" class="scheduler-jobs-info">
<div class="job-info" v-if="schedulerJobs.rating_updates?.lastRun">
<span class="job-label">🔄 {{ $t('teamManagement.ratingUpdates') }}:</span>
<span class="job-label">🔄 {{ t('teamManagement.ratingUpdates') }}:</span>
<span class="job-details">
{{ $t('teamManagement.lastRun') }}: {{ formatJobDate(schedulerJobs.rating_updates.lastRun) }}
{{ t('teamManagement.lastRun') }}: {{ formatJobDate(schedulerJobs.rating_updates.lastRun) }}
<span v-if="schedulerJobs.rating_updates.updatedCount !== null" class="job-count">
({{ schedulerJobs.rating_updates.updatedCount }} {{ $t('teamManagement.updated') }})
({{ schedulerJobs.rating_updates.updatedCount }} {{ t('teamManagement.updated') }})
</span>
<span v-if="!schedulerJobs.rating_updates.success" class="job-error"> {{ $t('teamManagement.error') }}</span>
<span v-if="!schedulerJobs.rating_updates.success" class="job-error"> {{ t('teamManagement.error') }}</span>
</span>
</div>
<div class="job-info" v-if="schedulerJobs.match_results?.lastRun">
<div class="job-header">
<span class="job-label">📊 {{ $t('teamManagement.matchResults') }}:</span>
<span class="job-label">📊 {{ t('teamManagement.matchResults') }}:</span>
<span class="job-details">
{{ $t('teamManagement.lastRun') }}: {{ formatJobDate(schedulerJobs.match_results.lastRun) }}
{{ t('teamManagement.lastRun') }}: {{ formatJobDate(schedulerJobs.match_results.lastRun) }}
<span v-if="schedulerJobs.match_results.fetchedCount !== null" class="job-count">
({{ schedulerJobs.match_results.fetchedCount }} {{ $t('teamManagement.fetched') }})
({{ schedulerJobs.match_results.fetchedCount }} {{ t('teamManagement.fetched') }})
</span>
<span v-if="!schedulerJobs.match_results.success" class="job-error"> {{ $t('teamManagement.error') }}</span>
<span v-if="!schedulerJobs.match_results.success" class="job-error"> {{ t('teamManagement.error') }}</span>
</span>
</div>
<div v-if="schedulerJobs.match_results.teamDetails && schedulerJobs.match_results.teamDetails.length > 0" class="team-details">
@@ -45,9 +45,9 @@
<div class="toggle-new-team">
<span @click="toggleNewTeam">
<span class="add">{{ teamFormIsOpen ? '-' : '+' }}</span>
{{ teamToEdit === null ? $t('teamManagement.newTeam') : $t('teamManagement.editTeam') }}
{{ teamToEdit === null ? t('teamManagement.newTeam') : t('teamManagement.editTeam') }}
</span>
<button v-if="teamToEdit !== null" @click="resetToNewTeam">{{ $t('teamManagement.createNewTeam') }}</button>
<button v-if="teamToEdit !== null" @click="resetToNewTeam">{{ t('teamManagement.createNewTeam') }}</button>
</div>
<div v-if="teamFormIsOpen" class="new-team-form">
@@ -55,14 +55,14 @@
<!-- Linke Spalte: Grundeinstellungen -->
<div class="basic-settings">
<label>
<span>{{ $t('teamManagement.teamName') }}:</span>
<span>{{ t('teamManagement.teamName') }}:</span>
<input type="text" v-model="newTeamName" :placeholder="t('teamManagement.teamNamePlaceholder')">
</label>
<label>
<span>{{ $t('teamManagement.league') }}:</span>
<span>{{ t('teamManagement.league') }}:</span>
<select v-model="newLeagueId">
<option value="">{{ $t('teamManagement.noLeague') }}</option>
<option value="">{{ t('teamManagement.noLeague') }}</option>
<option v-for="league in filteredLeagues" :key="league.id" :value="league.id">
{{ league.name }}
</option>
@@ -71,39 +71,39 @@
<div class="form-actions">
<button @click="addNewTeam" :disabled="!newTeamName.trim()">
{{ teamToEdit ? $t('teamManagement.change') : $t('teamManagement.createAndEdit') }}
{{ teamToEdit ? t('teamManagement.change') : t('teamManagement.createAndEdit') }}
</button>
<button @click="resetNewTeam" v-if="teamToEdit === null" class="cancel-action">
{{ $t('teamManagement.clearFields') }}
{{ t('teamManagement.clearFields') }}
</button>
<button @click="resetToNewTeam" v-if="teamToEdit !== null" class="cancel-action">
{{ $t('teamManagement.createNewTeam') }}
{{ t('teamManagement.createNewTeam') }}
</button>
</div>
<!-- Spieler-Statistik -->
<div v-if="teamToEdit && teamToEdit.leagueId" class="player-stats">
<div class="stats-header">
<span class="section-title">📊 {{ $t('teamManagement.playerStats') }}</span>
<span class="section-title">📊 {{ t('teamManagement.playerStats') }}</span>
<button @click="refreshPlayerStats" :disabled="loadingStats" class="btn-sm">
{{ loadingStats ? '⏳' : '🔄' }}
</button>
</div>
<div v-if="loadingStats" class="loading-stats">{{ $t('teamManagement.loadingStats') }}</div>
<div v-if="loadingStats" class="loading-stats">{{ t('teamManagement.loadingStats') }}</div>
<div v-else-if="playerStats.length === 0" class="no-stats">
{{ $t('teamManagement.noPlayerStats') }}
{{ t('teamManagement.noPlayerStats') }}
</div>
<table v-else class="stats-table">
<thead>
<tr>
<th>{{ $t('teamManagement.player') }}</th>
<th>{{ t('teamManagement.player') }}</th>
<th :title="t('teamManagement.qttr')">(Q)TTR</th>
<th :title="t('teamManagement.seasonFull')">{{ $t('teamManagement.season') }}</th>
<th :title="isSecondHalf ? $t('teamManagement.secondHalfFull') : $t('teamManagement.firstHalfFull')">
{{ isSecondHalf ? $t('teamManagement.secondHalf') : $t('teamManagement.firstHalf') }}
<th :title="t('teamManagement.seasonFull')">{{ t('teamManagement.season') }}</th>
<th :title="isSecondHalf ? t('teamManagement.secondHalfFull') : t('teamManagement.firstHalfFull')">
{{ isSecondHalf ? t('teamManagement.secondHalf') : t('teamManagement.firstHalf') }}
</th>
</tr>
</thead>
@@ -128,40 +128,40 @@
<div v-if="teamToEdit" class="advanced-settings">
<!-- Upload-Buttons -->
<div class="upload-actions compact">
<span class="section-title">📋 {{ $t('teamManagement.documents') }}</span>
<span class="section-title">📋 {{ t('teamManagement.documents') }}</span>
<div class="upload-buttons-compact">
<button @click="uploadCodeList" class="btn-upload-sm">
📋 {{ $t('teamManagement.codeList') }}
📋 {{ t('teamManagement.codeList') }}
</button>
<button @click="uploadPinList" class="btn-upload-sm">
🔐 {{ $t('teamManagement.pinList') }}
🔐 {{ t('teamManagement.pinList') }}
</button>
</div>
</div>
<!-- Automatische Jobs Info für dieses Team -->
<div v-if="getTeamJobInfo(teamToEdit)" class="team-job-info compact">
<span class="section-title">🔄 {{ $t('teamManagement.automaticJobs') }}</span>
<span class="section-title">🔄 {{ t('teamManagement.automaticJobs') }}</span>
<div v-if="getTeamJobInfo(teamToEdit).lastRun" class="team-job-details">
<div class="team-job-item">
<span class="team-job-label">{{ $t('teamManagement.lastUpdated') }}:</span>
<span class="team-job-label">{{ t('teamManagement.lastUpdated') }}:</span>
<span class="team-job-value">{{ formatJobDate(getTeamJobInfo(teamToEdit).lastRun) }}</span>
</div>
<div v-if="getTeamJobInfo(teamToEdit).success !== null" class="team-job-item">
<span class="team-job-label">{{ $t('teamManagement.status') }}:</span>
<span v-if="getTeamJobInfo(teamToEdit).success" class="team-job-status success"> {{ $t('teamManagement.successful') }}</span>
<span v-else class="team-job-status error"> {{ $t('teamManagement.error') }}</span>
<span class="team-job-label">{{ t('teamManagement.status') }}:</span>
<span v-if="getTeamJobInfo(teamToEdit).success" class="team-job-status success"> {{ t('teamManagement.successful') }}</span>
<span v-else class="team-job-status error"> {{ t('teamManagement.error') }}</span>
</div>
</div>
<div v-else class="team-job-details">
<span class="team-job-no-data">{{ $t('teamManagement.noAutomaticUpdate') }}</span>
<span class="team-job-no-data">{{ t('teamManagement.noAutomaticUpdate') }}</span>
</div>
</div>
<!-- MyTischtennis URL Konfiguration -->
<div class="mytischtennis-config compact">
<div class="mytischtennis-header-compact">
<span class="section-title">🏓 {{ $t('teamManagement.myTischtennis') }}</span>
<span class="section-title">🏓 {{ t('teamManagement.myTischtennis') }}</span>
<div class="status-inline">
<span v-if="getMyTischtennisStatus(teamToEdit).complete" class="badge-sm complete"></span>
<span v-else-if="getMyTischtennisStatus(teamToEdit).partial" class="badge-sm partial"></span>
@@ -198,10 +198,10 @@
</div>
<div class="teams-list">
<h3>{{ $t('teamManagement.teams') }} ({{ teams.length }}) - {{ $t('teamManagement.season') }} {{ currentSeason?.season || $t('teamManagement.seasonUnknown') }}</h3>
<h3>{{ t('teamManagement.teams') }} ({{ teams.length }}) - {{ t('teamManagement.season') }} {{ currentSeason?.season || t('teamManagement.seasonUnknown') }}</h3>
<div v-if="teams.length === 0" class="no-teams">
<p>{{ $t('teamManagement.noTeamsYet') }}</p>
<p>{{ t('teamManagement.noTeamsYet') }}</p>
</div>
<div v-else class="teams-grid">
@@ -225,17 +225,17 @@
<div class="team-info">
<div class="info-row">
<span class="label">{{ $t('teamManagement.league') }}:</span>
<span class="label">{{ t('teamManagement.league') }}:</span>
<span class="value">
{{ team.league ? team.league.name : $t('teamManagement.noAssignment') }}
{{ team.league ? team.league.name : t('teamManagement.noAssignment') }}
</span>
</div>
<div class="info-row">
<span class="label">{{ $t('teamManagement.season') }}:</span>
<span class="value">{{ team.season?.season || $t('teamManagement.unknown') }}</span>
<span class="label">{{ t('teamManagement.season') }}:</span>
<span class="value">{{ team.season?.season || t('teamManagement.unknown') }}</span>
</div>
<div class="info-row">
<span class="label">{{ $t('teamManagement.created') }}:</span>
<span class="label">{{ t('teamManagement.created') }}:</span>
<span class="value">{{ formatDate(team.createdAt) }}</span>
</div>
@@ -243,13 +243,13 @@
<div class="info-row mytischtennis-status">
<span class="label">🏓 MyTischtennis:</span>
<span v-if="getMyTischtennisStatus(team).complete" class="status-badge complete" :title="getMyTischtennisStatus(team).tooltip">
{{ $t('teamManagement.fullyConfigured') }}
{{ t('teamManagement.fullyConfigured') }}
</span>
<span v-else-if="getMyTischtennisStatus(team).partial" class="status-badge partial" :title="getMyTischtennisStatus(team).tooltip">
{{ $t('teamManagement.partiallyConfigured') }}
{{ t('teamManagement.partiallyConfigured') }}
</span>
<span v-else class="status-badge missing" :title="getMyTischtennisStatus(team).tooltip">
{{ $t('teamManagement.notConfigured') }}
{{ t('teamManagement.notConfigured') }}
</span>
</div>
@@ -263,14 +263,14 @@
{{ getTeamJobInfo(team).success ? '' : '' }}
</span>
</span>
<span v-else class="team-job-no-data">{{ $t('teamManagement.never') }}</span>
<span v-else class="team-job-no-data">{{ t('teamManagement.never') }}</span>
</span>
</div>
</div>
<!-- PDF-Dokumente Icons -->
<div class="team-documents">
<div class="documents-label">{{ $t('teamManagement.documents') }}:</div>
<div class="documents-label">{{ t('teamManagement.documents') }}:</div>
<div class="document-icons">
<button
v-if="getTeamDocuments(team.id, 'code_list').length > 0"