151 lines
6.0 KiB
HTML
151 lines
6.0 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="es">
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||
<title>Editor de Formación – SwimArt</title>
|
||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css">
|
||
<link rel="stylesheet" href="css/editorPiscina.css">
|
||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap" rel="stylesheet">
|
||
<script src="https://unpkg.com/wavesurfer.js"></script>
|
||
<script src="https://cdn.jsdelivr.net/npm/konva@9.2.0/konva.min.js"></script>
|
||
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
|
||
</head>
|
||
<body>
|
||
<!-- NAV -->
|
||
<nav class="navbar navbar-expand-lg navbar-dark bg-primary sticky-top shadow-sm px-4 py-3">
|
||
<div class="container-fluid">
|
||
<a class="navbar-brand fw-bold text-white" href="#">SwimArt</a>
|
||
<div class="ms-auto d-flex gap-4">
|
||
<a href="coach.html" class="nav-link text-white">Inicializar Rutina</a>
|
||
<a href="equipoDisponibles.html" class="nav-link text-white">Equipos Disponibles</a>
|
||
<a href="piscina.html" class="nav-link text-white">Piscina</a>
|
||
</div>
|
||
</div>
|
||
</nav>
|
||
|
||
<!-- MAIN -->
|
||
<main class="px-5 my-4" style="max-width: 90%; margin: 0 auto;">
|
||
<!-- RUTINA -->
|
||
<section class="mb-4">
|
||
<h2 id="tituloRutina" class="fw-bold fs-3">Nombre de la Rutina</h2>
|
||
<p><strong>Tipo:</strong> <span id="tipoRutina" class="text-secondary">Cargando...</span></p>
|
||
<p><strong>Modalidad:</strong> <span id="modalidadRutina" class="text-secondary">Cargando...</span></p>
|
||
</section>
|
||
|
||
<!-- FORMULARIOS Y CANVAS -->
|
||
<div class="row gx-4 gy-4 mb-5">
|
||
<!-- Formulario -->
|
||
<div class="col-lg-4">
|
||
<div class="card shadow-sm p-4">
|
||
<h5 class="fw-semibold mb-3">🎯 Agregar atleta</h5>
|
||
|
||
<label for="selectAtleta" class="form-label">Seleccionar atleta:</label>
|
||
<select id="selectAtleta" class="form-select mb-3"></select>
|
||
|
||
<label for="rolAtleta" class="form-label">Rol:</label>
|
||
<select id="rolAtleta" class="form-select mb-3">
|
||
<option value="">Seleccionar rol</option>
|
||
<option value="volador">Volador</option>
|
||
<option value="pilar">Pilar</option>
|
||
<option value="otro">Otro</option>
|
||
</select>
|
||
|
||
<label for="idPersonalizado" class="form-label">ID personalizado:</label>
|
||
<input type="text" id="idPersonalizado" class="form-control mb-3" placeholder="Ej: A, 1, V2">
|
||
|
||
<label for="figura" class="form-label">Figura técnica:</label>
|
||
<input type="text" id="figura" class="form-control mb-2" placeholder="Ej: Barracuda, Flamingo..." autocomplete="off">
|
||
|
||
<div id="sugerenciasFigura" class="list-group position-relative"></div>
|
||
<div id="previewFigura" class="text-center mt-3 mb-3"></div>
|
||
|
||
<label for="tipoElemento" class="form-label">Tipo de elemento:</label>
|
||
<select id="tipoElemento" class="form-select mb-3">
|
||
<option value="TRE">TRE</option>
|
||
<option value="híbrido">Híbrido</option>
|
||
<option value="transición" selected>Transición</option>
|
||
</select>
|
||
|
||
<label for="codigoElemento" class="form-label">Código del elemento:</label>
|
||
<input type="text" id="codigoElemento" class="form-control mb-3" placeholder="Ej: TRE 1A, H4...">
|
||
|
||
<button id="btnAgregarAtleta" class="btn btn-success w-100 mt-3">➕ Añadir atleta</button>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Piscina -->
|
||
<div class="col-lg-8">
|
||
<div class="card shadow-sm p-4">
|
||
<h5 class="fw-semibold mb-3">🏊 Vista de la Piscina</h5>
|
||
|
||
<div class="mb-3">
|
||
<label for="tipoPiscina" class="form-label fw-semibold">Seleccionar tipo de piscina:</label>
|
||
<select id="tipoPiscina" class="form-select">
|
||
<option value="olimpica">Piscina Olímpica (50m x 25m)</option>
|
||
<option value="semiolimpica">Piscina Semiolímpica (25m x 12.5m)</option>
|
||
<option value="fosa">Fosa (20m x 20m)</option>
|
||
</select>
|
||
</div>
|
||
|
||
|
||
<!-- Canvas -->
|
||
<div id="piscinaContainer" class="border rounded p-2 mb-3">
|
||
<div id="piscina"></div>
|
||
</div>
|
||
|
||
<div class="text-end">
|
||
<button id="btnEditarFormacion" class="btn btn-outline-secondary btn-sm d-inline-flex align-items-center gap-2" disabled>
|
||
✏ Editar formación
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Formaciones -->
|
||
<div class="row mb-4">
|
||
<div class="col-md-4 mb-3">
|
||
<label for="nombreFormacion" class="form-label">Nombre de la formación:</label>
|
||
<input type="text" id="nombreFormacion" class="form-control" />
|
||
</div>
|
||
<div class="col-md-4 mb-3">
|
||
<label for="duracionFormacion" class="form-label">Duración (segundos):</label>
|
||
<input type="number" id="duracionFormacion" class="form-control" min="1" placeholder="Ej: 5" />
|
||
</div>
|
||
<div class="col-md-4 mb-3">
|
||
<label for="notasFormacion" class="form-label">Notas tácticas:</label>
|
||
<textarea id="notasFormacion" class="form-control" rows="1"></textarea>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div class="text-center mb-4">
|
||
<button id="btnGuardarFormacion" class="btn btn-primary btn-lg px-5">💾 Guardar Formación</button>
|
||
</div>
|
||
|
||
<div id="waveform"></div>
|
||
<button id="playPauseBtn">▶ Reproducir</button>
|
||
|
||
|
||
<hr class="my-5" />
|
||
|
||
<!-- Línea de música anterior, sin wave -->
|
||
<section class="mb-4">
|
||
<audio id="audioPlayer" class="w-100" controls>
|
||
Tu navegador no soporta audio.
|
||
</audio>
|
||
</section>
|
||
|
||
<section>
|
||
<h4 class="mb-3 fw-semibold">🕒 Línea de tiempo</h4>
|
||
<div id="lineaTiempo" class="timeline-placeholder d-flex flex-wrap gap-2"></div>
|
||
</section>
|
||
</main>
|
||
|
||
<!-- Script de interacción -->
|
||
<script src="https://cdn.jsdelivr.net/npm/sortablejs@1.15.0/Sortable.min.js"></script>
|
||
<script src="js/piscina.js"></script>
|
||
</body>
|
||
</html>
|