158 lines
6.5 KiB
HTML
158 lines
6.5 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 – SwimmingArt</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="#">SwimmingArt</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 active">Piscina</a>
|
||
</div>
|
||
</div>
|
||
</nav>
|
||
|
||
<!-- MAIN -->
|
||
<main class="container-xl px-4 my-4">
|
||
<section class="mb-4">
|
||
<h2 id="tituloRutina" class="fw-bold fs-2 mb-2">Editor de Formación</h2>
|
||
<div class="d-flex flex-wrap gap-3 small text-muted">
|
||
<div><strong>Tipo:</strong> <span id="tipoRutina">Cargando...</span></div>
|
||
<div><strong>Modalidad:</strong> <span id="modalidadRutina">Cargando...</span></div>
|
||
</div>
|
||
</section>
|
||
|
||
<div class="row gx-4 gy-4 align-items-start">
|
||
<!-- Formulario Atleta -->
|
||
<div class="col-lg-5 col-xl-4">
|
||
<div class="card p-4 h-100">
|
||
<h5 class="fw-semibold mb-3 text-primary">Agregar Atleta</h5>
|
||
|
||
<div class="mb-3">
|
||
<label for="selectAtleta" class="form-label">Seleccionar atleta</label>
|
||
<select id="selectAtleta" class="form-select"></select>
|
||
</div>
|
||
|
||
<div class="mb-3">
|
||
<label for="rolAtleta" class="form-label">Rol</label>
|
||
<select id="rolAtleta" class="form-select">
|
||
<option value="">Seleccionar rol</option>
|
||
<option value="volador">Volador</option>
|
||
<option value="pilar">Pilar</option>
|
||
<option value="otro">Otro</option>
|
||
</select>
|
||
</div>
|
||
|
||
<div class="mb-3">
|
||
<label for="idPersonalizado" class="form-label">ID personalizado</label>
|
||
<input type="text" id="idPersonalizado" class="form-control" placeholder="Ej: A, 1, V2" readonly>
|
||
|
||
</div>
|
||
|
||
<div class="mb-3">
|
||
<label for="figura" class="form-label">Figura técnica</label>
|
||
<input type="text" id="figura" class="form-control" 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>
|
||
</div>
|
||
|
||
<div class="mb-3">
|
||
<label for="tipoElemento" class="form-label">Tipo de elemento</label>
|
||
<select id="tipoElemento" class="form-select">
|
||
<option value="TRE">TRE</option>
|
||
<option value="híbrido">Híbrido</option>
|
||
<option value="transición" selected>Transición</option>
|
||
</select>
|
||
</div>
|
||
|
||
<div class="mb-4">
|
||
<label for="codigoElemento" class="form-label">Código del elemento</label>
|
||
<input type="text" id="codigoElemento" class="form-control" placeholder="Ej: TRE 1A, H4...">
|
||
</div>
|
||
|
||
<button id="btnAgregarAtleta" class="btn btn-primary w-100">Añadir Atleta</button>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Piscina y Línea de Tiempo -->
|
||
<div class="col-lg-7 col-xl-8">
|
||
<div class="card p-4 h-100">
|
||
<h5 class="fw-semibold mb-3 text-primary">Piscina</h5>
|
||
|
||
<div class="mb-3">
|
||
<label for="tipoPiscina" class="form-label">Tipo de piscina</label>
|
||
<select id="tipoPiscina" class="form-select form-select-sm w-100" style="max-width: 280px;">
|
||
<option value="olimpica">Olímpica (50m x 25m)</option>
|
||
<option value="semiolimpica">Semiolímpica (25m x 12.5m)</option>
|
||
<option value="fosa">Fosa/Poza (20m x 20m)</option>
|
||
</select>
|
||
</div>
|
||
|
||
<div id="piscinaContainer" class="border rounded p-2 mb-4" style="width: 100%; max-width: 100%; height: auto;">
|
||
<div id="piscina"></div>
|
||
</div>
|
||
|
||
<div class="mb-4">
|
||
<button id="btnEditarFormacion" class="btn btn-outline-secondary btn-sm" disabled>Editar formación</button>
|
||
</div>
|
||
|
||
<label class="form-label fw-semibold">Línea de Tiempo</label>
|
||
<div id="lineaTiempo" class="timeline-placeholder d-flex flex-wrap gap-2"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Datos de Formación -->
|
||
<div class="card p-4 mt-4">
|
||
<h5 class="fw-semibold mb-3 text-primary">Datos de Formación</h5>
|
||
<div class="row gy-3">
|
||
<div class="col-md-4">
|
||
<label for="nombreFormacion" class="form-label">Nombre</label>
|
||
<input type="text" id="nombreFormacion" class="form-control" placeholder="Nombre de la formación">
|
||
</div>
|
||
|
||
<div class="col-md-4">
|
||
<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">
|
||
<label for="notasFormacion" class="form-label">Notas tácticas</label>
|
||
<textarea id="notasFormacion" class="form-control" rows="1" placeholder="Instrucciones, marcajes, etc."></textarea>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="text-end mt-4">
|
||
<button id="btnGuardarFormacion" class="btn btn-primary">Guardar Formación</button>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Reproductor de audio -->
|
||
<div class="card p-4 mt-4">
|
||
<h5 class="fw-semibold mb-3 text-primary">Reproductor de Audio</h5>
|
||
<div id="waveform" class="mb-3"></div>
|
||
<div class="text-end">
|
||
<button id="playPauseBtn" class="btn btn-outline-secondary">Reproducir</button>
|
||
</div>
|
||
</div>
|
||
</main>
|
||
|
||
<audio id="audioPlayer" class="d-none" controls></audio>
|
||
|
||
<script src="https://cdn.jsdelivr.net/npm/sortablejs@1.15.0/Sortable.min.js"></script>
|
||
<script src="js/piscina.js"></script>
|
||
</body>
|
||
</html>
|