Fix: Replace all $t() calls with t() in TeamManagementView template to match Composition API setup
This commit is contained in:
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user