")
.text(texto ?? "")
.html();
}
// ======================================================
// CREAR SALA
// ======================================================
$('#btnCrearSala').on('click', function () {
const nombreSala =
$('#nombreSala').val().trim();
const nombreEquipo1 =
$('#nombreEquipo1').val().trim();
const nombreEquipo2 =
$('#nombreEquipo2').val().trim();
let valido = true;
$('.mensaje-error-sala').remove();
$('.input-kahoot')
.removeClass('is-invalid');
if (nombreSala === '') {
mostrarError(
'#nombreSala',
'El nombre de la sala es obligatorio.'
);
valido = false;
} else if (nombreSala.length < 3) {
mostrarError(
'#nombreSala',
'El nombre de la sala debe tener al menos 3 caracteres.'
);
valido = false;
}
if (nombreEquipo1 === '') {
mostrarError(
'#nombreEquipo1',
'El nombre del equipo 1 es obligatorio.'
);
valido = false;
} else if (nombreEquipo1.length < 2) {
mostrarError(
'#nombreEquipo1',
'El nombre del equipo debe tener al menos 2 caracteres.'
);
valido = false;
}
if (nombreEquipo2 === '') {
mostrarError(
'#nombreEquipo2',
'El nombre del equipo 2 es obligatorio.'
);
valido = false;
} else if (nombreEquipo2.length < 2) {
mostrarError(
'#nombreEquipo2',
'El nombre del equipo debe tener al menos 2 caracteres.'
);
valido = false;
}
if (
nombreEquipo1 !== '' &&
nombreEquipo2 !== '' &&
nombreEquipo1.toLowerCase() ===
nombreEquipo2.toLowerCase()
) {
mostrarError(
'#nombreEquipo2',
'Los dos equipos deben tener nombres diferentes.'
);
valido = false;
}
if (!valido) {
return;
}
// Deshabilitamos el botón mientras se crea la sala
const boton = $('#btnCrearSala');
boton.prop('disabled', true);
boton.text('Creando sala...');
$.ajax({
url: 'controladores/controladorPartida.php', // <-- cambia esto por la ruta de tu controlador
type: 'POST',
dataType: 'json',
data: {
orden: 'crear',
nombrePartida: nombreSala,
nombreEquipo1: nombreEquipo1,
nombreEquipo2: nombreEquipo2
},
success: function (respuesta) {
console.log('Respuesta del servidor:', respuesta);
if (respuesta.error) {
alert(respuesta.error);
boton.prop('disabled', false);
boton.text('Crear sala');
return;
}
if (respuesta.exito) {
$('#modalCrearSala').modal('hide');
location.reload();
}
},
error: function (xhr, status, error) {
console.error('Error al crear la sala:', error);
console.error('Respuesta:', xhr.responseText);
alert('No se ha podido crear la sala.');
boton.prop('disabled', false);
boton.text('Crear sala');
}
});
});
// ======================================================
// MOSTRAR ERROR
// ======================================================
function mostrarError(selector, mensaje) {
const input = $(selector);
input.addClass("is-invalid");
input.after(`