interfaz piscina

This commit is contained in:
Alain Vasquez Ramirez 2025-05-19 14:34:07 -06:00
parent 9fba0cd5cf
commit 9cffbd8cb9
1 changed files with 92 additions and 45 deletions

View File

@ -3,80 +3,127 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Editor de Formación - SwimmingArt</title>
<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://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 class="navbar navbar-expand-lg navbar-dark bg-primary px-4">
<a class="navbar-brand fw-bold text-white" href="#">SwimmingArt</a>
<div class="ms-auto">
<a href="coach.html" class="nav-link d-inline text-white">Inicializar Rutina</a>
<a href="equipoDisponibles.html" class="nav-link d-inline text-white">Equipos Disponibles</a>
<!-- 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>
<div class="container my-5">
<h2 id="tituloRutina" class="mb-3">Nombre de la Rutina</h2>
<p><strong>Tipo:</strong> <span id="tipoRutina">Cargando...</span></p>
<p><strong>Modalidad:</strong> <span id="modalidadRutina">Cargando...</span></p>
<!-- 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>
<div class="row my-4">
<div class="col-md-4">
<label for="selectAtleta" class="form-label">Seleccionar atleta:</label>
<select id="selectAtleta" class="form-select mb-2"></select>
<!-- 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="rolAtleta" class="form-label">Rol:</label>
<input type="text" id="rolAtleta" class="form-control mb-2" placeholder="volador / pilar / otro">
<label for="selectAtleta" class="form-label">Seleccionar atleta:</label>
<select id="selectAtleta" class="form-select mb-3"></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="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>
<button id="btnAgregarAtleta" class="btn btn-success w-100">Añadir atleta a la formación</button>
<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"></div>
<button id="btnAgregarAtleta" class="btn btn-success w-100 mt-3"> Añadir atleta</button>
</div>
</div>
<div class="col-md-8">
<div id="piscinaContainer" class="border rounded shadow p-2" style="height: auto;">
<div id="piscina" style="height: 400px;"></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>
<!-- Tamaño editable -->
<div class="card shadow-sm p-3 mb-3 bg-light">
<h6 class="fw-semibold mb-2">🛠 Ajustar tamaño de la piscina</h6>
<div class="row g-2 align-items-center">
<div class="col-md-4">
<input type="number" id="inputWidth" class="form-control" placeholder="Ancho (px)" min="300">
</div>
<div class="col-md-4">
<input type="number" id="inputHeight" class="form-control" placeholder="Alto (px)" min="200">
</div>
<div class="col-md-4">
<button id="btnActualizarPiscina" class="btn btn-outline-primary w-100">Actualizar</button>
</div>
</div>
</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-6">
<label for="nombreFormacion" class="form-label">Nombre coloquial de la formación:</label>
<input type="text" id="nombreFormacion" class="form-control" placeholder="Ej: miniportés" />
<div class="col-md-6 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-6">
<div class="col-md-6 mb-3">
<label for="notasFormacion" class="form-label">Notas tácticas:</label>
<textarea id="notasFormacion" class="form-control" rows="3" placeholder="Ej: mirar izquierda, separarse a los 3s"></textarea>
<textarea id="notasFormacion" class="form-control" rows="3"></textarea>
</div>
</div>
<div class="text-center mb-4">
<button id="btnGuardarFormacion" class="btn btn-primary btn-lg px-5">Guardar Formación</button>
<button id="btnGuardarFormacion" class="btn btn-primary btn-lg px-5">💾 Guardar Formación</button>
</div>
<hr>
<hr class="my-5" />
<div id="simbologia" class="my-4">
<h4>Simbología</h4>
<ul>
<li><span class="dot volador"></span> Volador (morado)</li>
<li><span class="dot pilar"></span> Pilar (azul)</li>
<li><span class="dot otro"></span> Otro (rojo)</li>
<li><span class="borde borde-verde"></span> Grupo A / <span class="borde borde-amarillo"></span> Grupo B</li>
<li><span>🧿</span> Dirección de mirada (se activa con <kbd>Ctrl + Clic</kbd>)</li>
</ul>
</div>
<div id="historial">
<h4>Historial de Formaciones</h4>
<div id="formacionesPrevias" class="row"></div>
</div>
</div>
<!-- Línea de tiempo -->
<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="js/piscina.js"></script>
</body>
</html>