This commit is contained in:
Alain Vasquez Ramirez 2025-05-05 09:24:00 -06:00
parent 2d05c94412
commit 8b321f47d7
3 changed files with 126 additions and 34 deletions

View File

@ -21,7 +21,7 @@
<a class="nav-link" href="#inicializarRutina">Inicializar Rutina</a>
</li>
<li class="nav-item">
<a class="nav-link" href="equipoDisponibles.html">Crear Formaciones</a>
<a class="nav-link" href="equipoDisponibles.html">Equipos Disponibles</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#otroLink2">Catalogo de formaciones</a>

View File

@ -19,7 +19,7 @@
<a class="nav-link" href="coach.html">Inicializar Rutina</a>
</li>
<li class="nav-item">
<a class="nav-link" href="equipoDisponibles.html">Crear Formaciones</a>
<a class="nav-link" href="equipoDisponibles.html">Equipos Disponibles</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#otroLink2">Catalogo de formaciones</a>
@ -30,43 +30,53 @@
</nav>
<div class="container mt-5">
<h2>Rutinas Disponibles</h2>
<h2>Equipos Disponibles</h2>
<div class="card-container" id="routinesList"></div>
</div>
<script>
// Función para cargar las rutinas
async function loadRoutines() {
const response = await fetch('/routines');
const routines = await response.json();
const routinesList = document.getElementById('routinesList');
routinesList.innerHTML = '';
// Función para cargar las rutinas
async function loadRoutines() {
const response = await fetch('/routines');
const routines = await response.json();
const routinesList = document.getElementById('routinesList');
routinesList.innerHTML = '';
routines.forEach(routine => {
const card = document.createElement('div');
card.classList.add('card', 'text-center', 'border-primary', 'm-2');
card.innerHTML = `
<div class="card-body">
<h5 class="card-title">${routine.nombreCompetencia}</h5>
<p class="card-text"><strong>Competencia:</strong> ${routine.tipoCompetencia}</p>
<p class="card-text"><strong>Modalidad:</strong> ${routine.modalidad}</p>
<h6>Atletas:</h6>
<ul>
${
Array.isArray(routine.participantes) && routine.participantes.length > 0
? routine.participantes.map(p =>
`<li>${p.atletaId?.name || 'Atleta desconocido'} - ${p.rol}</li>`
).join('')
: '<li>No hay atletas asignados</li>'
}
</ul>
<button class="btn btn-primary mt-2" onclick="redirectToPrueba('${routine._id}')">
Ver detalles
</button>
routines.forEach(routine => {
const card = document.createElement('div');
card.classList.add('card', 'text-center', 'border-primary', 'm-2');
card.innerHTML = `
<div class="card-body">
<h5 class="card-title">${routine.nombreCompetencia}</h5>
<p class="card-text"><strong>Competencia:</strong> ${routine.tipoCompetencia}</p>
<p class="card-text"><strong>Modalidad:</strong> ${routine.modalidad}</p>
<h6>Atletas:</h6>
<ul>
${
Array.isArray(routine.participantes) && routine.participantes.length > 0
? routine.participantes.map(p =>
`<li>${p.atletaId?.name || 'Atleta desconocido'} - ${p.rol}</li>`
).join('')
: '<li>No hay atletas asignados</li>'
}
</ul>
</div>
`;
routinesList.appendChild(card);
});
}
</div>
`;
routinesList.appendChild(card);
});
}
function redirectToPrueba(routineId) {
window.location.href = `piscina.html?routineId=${routineId}`;
}
document.addEventListener('DOMContentLoaded', loadRoutines);
</script>
document.addEventListener('DOMContentLoaded', loadRoutines);
</script>
</body>
</html>

82
public/piscina.html Normal file
View File

@ -0,0 +1,82 @@
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Detalles de la Rutina</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-primary fixed-top">
<div class="container-fluid">
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ms-auto">
<li class="nav-item">
<a class="nav-link" href="coach.html">Inicializar Rutina</a>
</li>
<li class="nav-item">
<a class="nav-link" href="equipoDisponibles.html">Equipos Disponibles</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#otroLink2">Catalogo de formaciones</a>
</li>
</ul>
</div>
</div>
</nav>
<div class="container mt-5 pt-4">
<h2 id="routineName">Cargando nombre...</h2>
<p><strong>Tipo:</strong> <span id="routineType">Cargando...</span></p>
<p><strong>Modalidad:</strong> <span id="routineModalidad">Cargando...</span></p>
<h4>Atletas:</h4>
<ul id="atletasList">
<li>Cargando lista de atletas...</li>
</ul>
</div>
<script>
document.addEventListener('DOMContentLoaded', () => {
const urlParams = new URLSearchParams(window.location.search);
const routineId = urlParams.get('routineId');
if (routineId) {
fetch(`/routines/${routineId}`)
.then(response => {
if (!response.ok) {
throw new Error('No se pudo cargar la rutina');
}
return response.json();
})
.then(routine => {
document.getElementById('routineName').textContent = routine.nombreCompetencia;
document.getElementById('routineType').textContent = routine.tipoCompetencia;
document.getElementById('routineModalidad').textContent = routine.modalidad;
const atletasList = document.getElementById('atletasList');
atletasList.innerHTML = '';
if (Array.isArray(routine.participantes) && routine.participantes.length > 0) {
routine.participantes.forEach(p => {
const li = document.createElement('li');
li.textContent = `${p.atletaId?.name || 'Atleta desconocido'} - ${p.rol}`;
atletasList.appendChild(li);
});
} else {
atletasList.innerHTML = '<li>No hay atletas asignados</li>';
}
})
.catch(error => {
console.error('Error:', error);
alert('Error al cargar la rutina.');
});
} else {
alert('No se proporcionó ID de rutina.');
}
});
</script>
</body>
</html>