77 lines
2.1 KiB
JavaScript
77 lines
2.1 KiB
JavaScript
document.getElementById('rutinaForm').addEventListener('submit', async function (e) {
|
|
e.preventDefault();
|
|
|
|
const title = document.getElementById('title').value.trim();
|
|
const duration = parseInt(document.getElementById('duration').value.trim());
|
|
const language = document.getElementById('language').value;
|
|
const nombreCompetencia = document.getElementById('nombreCompetencia').value.trim();
|
|
const tipoCompetencia = document.getElementById('tipoCompetencia').value;
|
|
const modalidad = document.getElementById('modalidad').value;
|
|
const musicFile = document.getElementById('music').files[0];
|
|
|
|
if (!title || isNaN(duration) || !language || !nombreCompetencia || !tipoCompetencia || !modalidad) {
|
|
alert("Completa todos los campos.");
|
|
return;
|
|
}
|
|
|
|
let musicUrl = "";
|
|
|
|
if (musicFile) {
|
|
const formData = new FormData();
|
|
formData.append('music', musicFile);
|
|
|
|
try {
|
|
const uploadRes = await fetch('/api/rutinas/upload/music', {
|
|
method: 'POST',
|
|
body: formData
|
|
});
|
|
|
|
const uploadData = await uploadRes.json();
|
|
|
|
if (!uploadRes.ok) {
|
|
throw new Error(uploadData.error || 'Error al subir archivo');
|
|
}
|
|
|
|
musicUrl = uploadData.url;
|
|
} catch (err) {
|
|
console.error('❌ Error al subir música:', err);
|
|
alert('Error al subir el archivo de música. Intenta de nuevo.');
|
|
return;
|
|
}
|
|
}
|
|
|
|
const routine = {
|
|
title,
|
|
duration,
|
|
language,
|
|
nombreCompetencia,
|
|
tipoCompetencia,
|
|
modalidad,
|
|
participantes: [],
|
|
createdBy: "coach-id-ejemplo",
|
|
musicUrl,
|
|
elements: [],
|
|
formaciones: []
|
|
};
|
|
|
|
try {
|
|
const res = await fetch('/api/rutinas', {
|
|
method: 'POST',
|
|
headers: { 'Content-Type': 'application/json' },
|
|
body: JSON.stringify(routine)
|
|
});
|
|
|
|
const data = await res.json();
|
|
|
|
if (res.ok) {
|
|
alert("Rutina guardada correctamente.");
|
|
window.location.href = "equipoDisponibles.html";
|
|
} else {
|
|
alert("Error al guardar la rutina: " + (data.message || "Error desconocido"));
|
|
}
|
|
} catch (err) {
|
|
console.error(err);
|
|
alert("Error al guardar la rutina.");
|
|
}
|
|
});
|