traduccion del juego al español 100%
This commit is contained in:
@@ -6,24 +6,24 @@
|
||||
<button @click="goToSelector" class="btn btn-back">
|
||||
← UUIDs
|
||||
</button>
|
||||
<h1>🎛️ Admin Dashboard</h1>
|
||||
<h1>🎛️ Panel de Administración</h1>
|
||||
</div>
|
||||
<div class="connection-status">
|
||||
<div :class="['status-indicator', { 'connected': isSSEConnected, 'disconnected': !isSSEConnected }]"></div>
|
||||
<span class="status-text">{{ isSSEConnected ? 'Real-time' : 'Polling' }}</span>
|
||||
<span class="status-text">{{ isSSEConnected ? 'Tiempo real' : 'Sondeo' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="stats-summary">
|
||||
<div class="stat-card">
|
||||
<span class="stat-label">Total CCU</span>
|
||||
<span class="stat-label">CCU Total</span>
|
||||
<span class="stat-value">{{ globalStats?.globalCCU || 0 }}</span>
|
||||
</div>
|
||||
<div class="stat-card">
|
||||
<span class="stat-label">Active Rooms</span>
|
||||
<span class="stat-label">Salas Activas</span>
|
||||
<span class="stat-value">{{ rooms.length }}</span>
|
||||
</div>
|
||||
<div class="stat-card">
|
||||
<span class="stat-label">Total Players</span>
|
||||
<span class="stat-label">Jugadores Totales</span>
|
||||
<span class="stat-value">{{ totalPlayers }}</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -60,73 +60,73 @@
|
||||
<!-- Global Controls Section -->
|
||||
<div class="global-controls-section">
|
||||
<div class="section-header">
|
||||
<h2>🌐 Global Controls</h2>
|
||||
<h2>🌐 Controles Globales</h2>
|
||||
</div>
|
||||
<div class="global-controls-grid">
|
||||
<div class="control-group">
|
||||
<h3>Game State</h3>
|
||||
<h3>Estado del Juego</h3>
|
||||
<div class="control-buttons">
|
||||
<button
|
||||
@click="pauseAllGames"
|
||||
class="btn btn-pause"
|
||||
:disabled="isLoadingGlobal"
|
||||
>
|
||||
⏸️ Pause All Games
|
||||
⏸️ Pausar Todos los Juegos
|
||||
</button>
|
||||
<button
|
||||
@click="resumeAllGames"
|
||||
class="btn btn-resume"
|
||||
:disabled="isLoadingGlobal"
|
||||
>
|
||||
▶️ Resume All Games
|
||||
▶️ Reanudar Todos los Juegos
|
||||
</button>
|
||||
<button
|
||||
@click="restartAllGames"
|
||||
class="btn btn-restart"
|
||||
:disabled="isLoadingGlobal"
|
||||
>
|
||||
🔄 Restart All Games
|
||||
🔄 Reiniciar Todos los Juegos
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<h3>Game Variant</h3>
|
||||
<h3>Variante del Juego</h3>
|
||||
<div class="variant-controls">
|
||||
<select v-model="selectedGlobalVariant" class="variant-selector">
|
||||
<option value="">Select Variant</option>
|
||||
<option value="G1">G1 - Basic Game</option>
|
||||
<option value="G2">G2 - Forced Offers</option>
|
||||
<option value="G3">G3 - Shame Tokens</option>
|
||||
<option value="G4">G4 - Judge System</option>
|
||||
<option value="G5">G5 - Advanced</option>
|
||||
<option value="">Seleccionar Variante</option>
|
||||
<option value="G1">G1 - Juego Básico</option>
|
||||
<option value="G2">G2 - Ofertas Forzadas</option>
|
||||
<option value="G3">G3 - Fichas de Vergüenza</option>
|
||||
<option value="G4">G4 - Sistema de Juez</option>
|
||||
<option value="G5">G5 - Avanzado</option>
|
||||
</select>
|
||||
<button
|
||||
@click="changeGlobalVariant"
|
||||
class="btn btn-variant"
|
||||
:disabled="!selectedGlobalVariant || isLoadingGlobal"
|
||||
>
|
||||
🎮 Change All to {{ selectedGlobalVariant }}
|
||||
🎮 Cambiar Todo a {{ selectedGlobalVariant }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<h3>Player Management</h3>
|
||||
<h3>Gestión de Jugadores</h3>
|
||||
<div class="control-buttons">
|
||||
<button
|
||||
@click="shufflePlayers"
|
||||
class="btn btn-shuffle"
|
||||
:disabled="isLoadingGlobal"
|
||||
>
|
||||
🎲 Shuffle Players
|
||||
🎲 Mezclar Jugadores
|
||||
</button>
|
||||
<button
|
||||
@click="sendAllToLobby"
|
||||
class="btn btn-lobby-all"
|
||||
:disabled="isLoadingGlobal"
|
||||
>
|
||||
🏠 Send All to Lobby
|
||||
🏠 Enviar Todos al Lobby
|
||||
</button>
|
||||
<button
|
||||
@click="resetAllUuidProfiles"
|
||||
@@ -134,7 +134,7 @@
|
||||
:disabled="isLoadingGlobal"
|
||||
title="Borrar nombre, color y vergüenza de todos los UUIDs"
|
||||
>
|
||||
🧹 Reset All UUID Profiles
|
||||
🧹 Resetear Todos los Perfiles UUID
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -144,25 +144,25 @@
|
||||
<div class="rooms-section">
|
||||
<DashboardActions :rooms="rooms" :room-details="roomDetails" />
|
||||
<div class="section-header">
|
||||
<h2>Active Game Rooms</h2>
|
||||
<h2>Salas de Juego Activas</h2>
|
||||
<div class="view-controls">
|
||||
<button
|
||||
@click="viewMode = 'table'"
|
||||
:class="['btn', 'btn-view-mode', { active: viewMode === 'table' }]"
|
||||
>
|
||||
📊 Table View
|
||||
📊 Vista de Tabla
|
||||
</button>
|
||||
<button
|
||||
@click="viewMode = 'cards'"
|
||||
:class="['btn', 'btn-view-mode', { active: viewMode === 'cards' }]"
|
||||
>
|
||||
🎴 Cards View
|
||||
🎴 Vista de Tarjetas
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="rooms.length === 0" class="no-rooms">
|
||||
No active game rooms
|
||||
No hay salas de juego activas
|
||||
</div>
|
||||
|
||||
<!-- Table View -->
|
||||
@@ -194,15 +194,15 @@
|
||||
</div>
|
||||
|
||||
<div class="lobby-section">
|
||||
<h2>Lobby Rooms</h2>
|
||||
<h2>Salas del Lobby</h2>
|
||||
<div v-if="lobbyRooms.length === 0" class="no-rooms">
|
||||
No active lobby rooms
|
||||
No hay salas de lobby activas
|
||||
</div>
|
||||
<div v-else class="lobby-grid">
|
||||
<div v-for="room in lobbyRooms" :key="room.roomId" class="lobby-card">
|
||||
<div class="lobby-header">
|
||||
<span class="room-type">🏠 Lobby</span>
|
||||
<span class="room-clients">{{ room.clients }} players</span>
|
||||
<span class="room-clients">{{ room.clients }} jugadores</span>
|
||||
</div>
|
||||
<div class="room-id-small">{{ room.roomId.slice(0, 8) }}</div>
|
||||
</div>
|
||||
@@ -212,10 +212,10 @@
|
||||
|
||||
<div class="dashboard-footer">
|
||||
<button @click="refreshData" class="btn btn-refresh">
|
||||
🔄 Refresh Data
|
||||
🔄 Actualizar Datos
|
||||
</button>
|
||||
<button @click="goToLobby" class="btn btn-lobby">
|
||||
🎮 Go to Lobby
|
||||
🎮 Ir al Lobby
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -455,7 +455,7 @@ function openTabs() {
|
||||
|
||||
// Global control functions
|
||||
async function pauseAllGames() {
|
||||
if (!confirm('Are you sure you want to pause ALL active games?')) return;
|
||||
if (!confirm('¿Estás seguro de que quieres pausar TODOS los juegos activos?')) return;
|
||||
|
||||
isLoadingGlobal.value = true;
|
||||
try {
|
||||
@@ -477,7 +477,7 @@ async function pauseAllGames() {
|
||||
}
|
||||
|
||||
async function resumeAllGames() {
|
||||
if (!confirm('Are you sure you want to resume ALL paused games?')) return;
|
||||
if (!confirm('¿Estás seguro de que quieres reanudar TODOS los juegos pausados?')) return;
|
||||
|
||||
isLoadingGlobal.value = true;
|
||||
try {
|
||||
@@ -499,7 +499,7 @@ async function resumeAllGames() {
|
||||
}
|
||||
|
||||
async function restartAllGames() {
|
||||
if (!confirm('Are you sure you want to RESTART ALL active games? This will reset all progress!')) return;
|
||||
if (!confirm('¿Estás seguro de que quieres REINICIAR TODOS los juegos activos? ¡Esto reiniciará todo el progreso!')) return;
|
||||
|
||||
isLoadingGlobal.value = true;
|
||||
try {
|
||||
@@ -522,7 +522,7 @@ async function restartAllGames() {
|
||||
|
||||
async function changeGlobalVariant() {
|
||||
if (!selectedGlobalVariant.value) return;
|
||||
if (!confirm(`Are you sure you want to change ALL games to variant ${selectedGlobalVariant.value}?`)) return;
|
||||
if (!confirm(`¿Estás seguro de que quieres cambiar TODOS los juegos a la variante ${selectedGlobalVariant.value}?`)) return;
|
||||
|
||||
isLoadingGlobal.value = true;
|
||||
try {
|
||||
@@ -545,7 +545,7 @@ async function changeGlobalVariant() {
|
||||
}
|
||||
|
||||
async function shufflePlayers() {
|
||||
if (!confirm('Are you sure you want to SHUFFLE all players? This will randomly redistribute players between rooms and assign new roles!')) return;
|
||||
if (!confirm('¿Estás seguro de que quieres MEZCLAR todos los jugadores? ¡Esto redistribuirá aleatoriamente a los jugadores entre las salas y asignará nuevos roles!')) return;
|
||||
|
||||
isLoadingGlobal.value = true;
|
||||
try {
|
||||
@@ -558,7 +558,7 @@ async function shufflePlayers() {
|
||||
|
||||
const result = await response.json();
|
||||
console.log('Players shuffled successfully:', result.message);
|
||||
alert(`Shuffle completed! ${result.message}`);
|
||||
alert(`¡Mezcla completada! ${result.message}`);
|
||||
await fetchData();
|
||||
} catch (error) {
|
||||
console.error('Failed to shuffle players:', error);
|
||||
@@ -569,7 +569,7 @@ async function shufflePlayers() {
|
||||
}
|
||||
|
||||
async function sendAllToLobby() {
|
||||
if (!confirm('Are you sure you want to send ALL players back to the lobby? This will end all active games!')) return;
|
||||
if (!confirm('¿Estás seguro de que quieres enviar a TODOS los jugadores de vuelta al lobby? ¡Esto terminará todos los juegos activos!')) return;
|
||||
|
||||
isLoadingGlobal.value = true;
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user