feat(player-details): enhance player data display with missing data indicators
- Updated the PlayerDetailsDialog component to show a placeholder message when player data is not recorded, improving user experience and clarity. - Added a new CSS class for missing data to visually differentiate it from available information. - Enhanced internationalization by adding translation keys for the "data not recorded" message across multiple languages.
This commit is contained in:
@@ -10,47 +10,53 @@
|
||||
<div v-if="!loading && playerData" class="player-details-content">
|
||||
<table class="player-details-table">
|
||||
<tbody>
|
||||
<tr v-if="playerData.name">
|
||||
<tr>
|
||||
<td class="label-cell">{{ $t('members.firstName') }} / {{ $t('members.lastName') }}</td>
|
||||
<td class="value-cell">
|
||||
<td class="value-cell" v-if="playerData.name">
|
||||
<button class="copy-button" @click="copyToClipboard(playerData.name)" title="Kopieren">📋</button>
|
||||
{{ playerData.name }}
|
||||
</td>
|
||||
<td class="value-cell missing" v-else>{{ $t('tournaments.dataNotRecorded') }}</td>
|
||||
</tr>
|
||||
<tr v-if="playerData.birthDate">
|
||||
<tr>
|
||||
<td class="label-cell">{{ $t('members.birthdate') }}</td>
|
||||
<td class="value-cell">
|
||||
<td class="value-cell" v-if="playerData.birthDate">
|
||||
<button class="copy-button" @click="copyToClipboard(formatDate(playerData.birthDate))" title="Kopieren">📋</button>
|
||||
{{ formatDate(playerData.birthDate) }}
|
||||
</td>
|
||||
<td class="value-cell missing" v-else>{{ $t('tournaments.dataNotRecorded') }}</td>
|
||||
</tr>
|
||||
<tr v-if="playerData.address">
|
||||
<td class="label-cell">{{ $t('tournaments.address') }}</td>
|
||||
<td class="value-cell">
|
||||
<button class="copy-button" @click="copyToClipboard(playerData.address)" title="Kopieren">📋</button>
|
||||
{{ playerData.address }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="playerData.gender && playerData.gender !== 'unknown'">
|
||||
<tr>
|
||||
<td class="label-cell">{{ $t('members.gender') }}</td>
|
||||
<td class="value-cell">
|
||||
<td class="value-cell" v-if="playerData.gender && playerData.gender !== 'unknown'">
|
||||
<button class="copy-button" @click="copyToClipboard(formatGender(playerData.gender))" title="Kopieren">📋</button>
|
||||
{{ formatGender(playerData.gender) }}
|
||||
</td>
|
||||
<td class="value-cell missing" v-else>{{ $t('tournaments.dataNotRecorded') }}</td>
|
||||
</tr>
|
||||
<tr v-if="playerData.email">
|
||||
<tr>
|
||||
<td class="label-cell">{{ $t('tournaments.address') }}</td>
|
||||
<td class="value-cell" v-if="playerData.address">
|
||||
<button class="copy-button" @click="copyToClipboard(playerData.address)" title="Kopieren">📋</button>
|
||||
{{ playerData.address }}
|
||||
</td>
|
||||
<td class="value-cell missing" v-else>{{ $t('tournaments.dataNotRecorded') }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label-cell">{{ $t('members.emailAddress') }}</td>
|
||||
<td class="value-cell">
|
||||
<td class="value-cell" v-if="playerData.email">
|
||||
<button class="copy-button" @click="copyToClipboard(playerData.email)" title="Kopieren">📋</button>
|
||||
{{ playerData.email }}
|
||||
</td>
|
||||
<td class="value-cell missing" v-else>{{ $t('tournaments.dataNotRecorded') }}</td>
|
||||
</tr>
|
||||
<tr v-if="playerData.phone">
|
||||
<tr>
|
||||
<td class="label-cell">{{ $t('members.phoneNumber') }}</td>
|
||||
<td class="value-cell">
|
||||
<td class="value-cell" v-if="playerData.phone">
|
||||
<button class="copy-button" @click="copyToClipboard(playerData.phone)" title="Kopieren">📋</button>
|
||||
{{ playerData.phone }}
|
||||
</td>
|
||||
<td class="value-cell missing" v-else>{{ $t('tournaments.dataNotRecorded') }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -351,6 +357,12 @@ export default {
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
.value-cell.missing {
|
||||
color: #c62828;
|
||||
font-style: italic;
|
||||
opacity: 0.85;
|
||||
}
|
||||
|
||||
.no-data {
|
||||
text-align: center;
|
||||
padding: 2rem;
|
||||
|
||||
@@ -98,6 +98,16 @@
|
||||
"info": "Information",
|
||||
"confirm": "Bestätige",
|
||||
"cancel": "Abbreche"
|
||||
},
|
||||
"tournaments": {
|
||||
"numberOfTables": "Aazahl Tisch",
|
||||
"table": "Tisch",
|
||||
"distributeTables": "Freii Tisch verteile",
|
||||
"distributeTablesResult": "Tischverteilig",
|
||||
"noFreeTables": "Kei freie Tisch verfüegbar.",
|
||||
"noAssignableMatches": "Kei Spiel verfüegbar, wo beidi Spieler frei sind.",
|
||||
"tablesDistributed": "Tisch sind verteilt worde.",
|
||||
"dataNotRecorded": "No nid erfasst"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -267,7 +267,15 @@
|
||||
"events": "Veranstaltungen",
|
||||
"participations": "Turnierbeteiligungen",
|
||||
"showEvents": "Gespeicherte Veranstaltungen anzeigen",
|
||||
"showParticipations": "Turnierbeteiligungen anzeigen"
|
||||
"showParticipations": "Turnierbeteiligungen anzeigen",
|
||||
"numberOfTables": "Anzahl Tische",
|
||||
"table": "Tisch",
|
||||
"distributeTables": "Freie Tische verteilen",
|
||||
"distributeTablesResult": "Tischverteilung",
|
||||
"noFreeTables": "Keine freien Tische verfügbar.",
|
||||
"noAssignableMatches": "Keine Spiele verfügbar, bei denen beide Spieler frei sind.",
|
||||
"tablesDistributed": "Tische wurden verteilt.",
|
||||
"dataNotRecorded": "Noch nicht erfasst"
|
||||
},
|
||||
"permissions": {
|
||||
"title": "Berechtigungsverwaltung",
|
||||
|
||||
@@ -671,6 +671,7 @@
|
||||
"forForwarding": "für Weitermeldung",
|
||||
"showPlayerDetails": "Spielerdetails anzeigen",
|
||||
"noPlayerDataAvailable": "Keine Spielerdaten verfügbar",
|
||||
"dataNotRecorded": "Noch nicht erfasst",
|
||||
"koRound": "K.-o.-Runde",
|
||||
"errorUpdatingTournament": "Fehler beim Aktualisieren des Turniers.",
|
||||
"pleaseEnterDate": "Bitte geben Sie ein Datum ein!",
|
||||
|
||||
@@ -98,6 +98,16 @@
|
||||
"info": "Information",
|
||||
"confirm": "Confirm",
|
||||
"cancel": "Cancel"
|
||||
},
|
||||
"tournaments": {
|
||||
"numberOfTables": "Number of tables",
|
||||
"table": "Table",
|
||||
"distributeTables": "Distribute free tables",
|
||||
"distributeTablesResult": "Table distribution",
|
||||
"noFreeTables": "No free tables available.",
|
||||
"noAssignableMatches": "No matches available where both players are free.",
|
||||
"tablesDistributed": "Tables have been distributed.",
|
||||
"dataNotRecorded": "Not yet recorded"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -98,6 +98,16 @@
|
||||
"info": "Information",
|
||||
"confirm": "Confirm",
|
||||
"cancel": "Cancel"
|
||||
},
|
||||
"tournaments": {
|
||||
"numberOfTables": "Number of tables",
|
||||
"table": "Table",
|
||||
"distributeTables": "Distribute free tables",
|
||||
"distributeTablesResult": "Table distribution",
|
||||
"noFreeTables": "No free tables available.",
|
||||
"noAssignableMatches": "No matches available where both players are free.",
|
||||
"tablesDistributed": "Tables have been distributed.",
|
||||
"dataNotRecorded": "Not yet recorded"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -98,6 +98,16 @@
|
||||
"info": "Information",
|
||||
"confirm": "Confirm",
|
||||
"cancel": "Cancel"
|
||||
},
|
||||
"tournaments": {
|
||||
"numberOfTables": "Number of tables",
|
||||
"table": "Table",
|
||||
"distributeTables": "Distribute free tables",
|
||||
"distributeTablesResult": "Table distribution",
|
||||
"noFreeTables": "No free tables available.",
|
||||
"noAssignableMatches": "No matches available where both players are free.",
|
||||
"tablesDistributed": "Tables have been distributed.",
|
||||
"dataNotRecorded": "Not yet recorded"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -98,6 +98,16 @@
|
||||
"info": "Información",
|
||||
"confirm": "Confirmar",
|
||||
"cancel": "Cancelar"
|
||||
},
|
||||
"tournaments": {
|
||||
"numberOfTables": "Número de mesas",
|
||||
"table": "Mesa",
|
||||
"distributeTables": "Distribuir mesas libres",
|
||||
"distributeTablesResult": "Distribución de mesas",
|
||||
"noFreeTables": "No hay mesas libres disponibles.",
|
||||
"noAssignableMatches": "No hay partidos disponibles en los que ambos jugadores estén libres.",
|
||||
"tablesDistributed": "Las mesas han sido distribuidas.",
|
||||
"dataNotRecorded": "Aún no registrado"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -98,6 +98,16 @@
|
||||
"info": "Impormasyon",
|
||||
"confirm": "Kumpirmahin",
|
||||
"cancel": "Kanselahin"
|
||||
},
|
||||
"tournaments": {
|
||||
"numberOfTables": "Bilang ng mesa",
|
||||
"table": "Mesa",
|
||||
"distributeTables": "Ipamahagi ang mga bakanteng mesa",
|
||||
"distributeTablesResult": "Pamamahagi ng mesa",
|
||||
"noFreeTables": "Walang bakanteng mesa.",
|
||||
"noAssignableMatches": "Walang laban kung saan pareho ang mga manlalaro ay bakante.",
|
||||
"tablesDistributed": "Ang mga mesa ay naipamahagi na.",
|
||||
"dataNotRecorded": "Hindi pa naitala"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -98,6 +98,16 @@
|
||||
"info": "Information",
|
||||
"confirm": "Confirmer",
|
||||
"cancel": "Annuler"
|
||||
},
|
||||
"tournaments": {
|
||||
"numberOfTables": "Nombre de tables",
|
||||
"table": "Table",
|
||||
"distributeTables": "Distribuer les tables libres",
|
||||
"distributeTablesResult": "Distribution des tables",
|
||||
"noFreeTables": "Aucune table libre disponible.",
|
||||
"noAssignableMatches": "Aucun match disponible où les deux joueurs sont libres.",
|
||||
"tablesDistributed": "Les tables ont été distribuées.",
|
||||
"dataNotRecorded": "Pas encore enregistré"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -98,6 +98,16 @@
|
||||
"info": "Informazione",
|
||||
"confirm": "Conferma",
|
||||
"cancel": "Annulla"
|
||||
},
|
||||
"tournaments": {
|
||||
"numberOfTables": "Numero di tavoli",
|
||||
"table": "Tavolo",
|
||||
"distributeTables": "Distribuire tavoli liberi",
|
||||
"distributeTablesResult": "Distribuzione dei tavoli",
|
||||
"noFreeTables": "Nessun tavolo libero disponibile.",
|
||||
"noAssignableMatches": "Nessuna partita disponibile in cui entrambi i giocatori sono liberi.",
|
||||
"tablesDistributed": "I tavoli sono stati distribuiti.",
|
||||
"dataNotRecorded": "Non ancora registrato"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -98,6 +98,16 @@
|
||||
"info": "情報",
|
||||
"confirm": "確認",
|
||||
"cancel": "キャンセル"
|
||||
},
|
||||
"tournaments": {
|
||||
"numberOfTables": "卓数",
|
||||
"table": "卓",
|
||||
"distributeTables": "空き卓を割り当て",
|
||||
"distributeTablesResult": "卓の割り当て",
|
||||
"noFreeTables": "空き卓がありません。",
|
||||
"noAssignableMatches": "両選手が空いている試合がありません。",
|
||||
"tablesDistributed": "卓が割り当てられました。",
|
||||
"dataNotRecorded": "未登録"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -98,6 +98,16 @@
|
||||
"info": "Informacja",
|
||||
"confirm": "Potwierdź",
|
||||
"cancel": "Anuluj"
|
||||
},
|
||||
"tournaments": {
|
||||
"numberOfTables": "Liczba stołów",
|
||||
"table": "Stół",
|
||||
"distributeTables": "Rozdziel wolne stoły",
|
||||
"distributeTablesResult": "Podział stołów",
|
||||
"noFreeTables": "Brak wolnych stołów.",
|
||||
"noAssignableMatches": "Brak meczów, w których obaj gracze są wolni.",
|
||||
"tablesDistributed": "Stoły zostały rozdzielone.",
|
||||
"dataNotRecorded": "Jeszcze nie wprowadzono"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -98,6 +98,16 @@
|
||||
"info": "ข้อมูล",
|
||||
"confirm": "ยืนยัน",
|
||||
"cancel": "ยกเลิก"
|
||||
},
|
||||
"tournaments": {
|
||||
"numberOfTables": "จำนวนโต๊ะ",
|
||||
"table": "โต๊ะ",
|
||||
"distributeTables": "จัดสรรโต๊ะว่าง",
|
||||
"distributeTablesResult": "การจัดสรรโต๊ะ",
|
||||
"noFreeTables": "ไม่มีโต๊ะว่าง",
|
||||
"noAssignableMatches": "ไม่มีแมตช์ที่ผู้เล่นทั้งสองว่าง",
|
||||
"tablesDistributed": "จัดสรรโต๊ะเรียบร้อยแล้ว",
|
||||
"dataNotRecorded": "ยังไม่ได้บันทึก"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -98,6 +98,16 @@
|
||||
"info": "Impormasyon",
|
||||
"confirm": "Kumpirmahin",
|
||||
"cancel": "Kanselahin"
|
||||
},
|
||||
"tournaments": {
|
||||
"numberOfTables": "Bilang ng mesa",
|
||||
"table": "Mesa",
|
||||
"distributeTables": "Ipamahagi ang mga bakanteng mesa",
|
||||
"distributeTablesResult": "Pamamahagi ng mesa",
|
||||
"noFreeTables": "Walang bakanteng mesa.",
|
||||
"noAssignableMatches": "Walang laban kung saan pareho ang mga manlalaro ay bakante.",
|
||||
"tablesDistributed": "Ang mga mesa ay naipamahagi na.",
|
||||
"dataNotRecorded": "Hindi pa naitala"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -98,6 +98,16 @@
|
||||
"info": "信息",
|
||||
"confirm": "确认",
|
||||
"cancel": "取消"
|
||||
},
|
||||
"tournaments": {
|
||||
"numberOfTables": "球台数量",
|
||||
"table": "球台",
|
||||
"distributeTables": "分配空闲球台",
|
||||
"distributeTablesResult": "球台分配",
|
||||
"noFreeTables": "没有可用的空闲球台。",
|
||||
"noAssignableMatches": "没有两位选手都空闲的比赛。",
|
||||
"tablesDistributed": "球台已分配。",
|
||||
"dataNotRecorded": "尚未录入"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user