CC aplicado
@ -106,19 +106,27 @@
|
|||||||
width: 16px !important;
|
width: 16px !important;
|
||||||
height: 16px !important;
|
height: 16px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.perso {
|
||||||
|
top: 111px;
|
||||||
|
left: 70px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
<div class='page-sco py-2 py-md-4 h-100'>
|
<div class='page-sco py-2 py-md-4 h-100'>
|
||||||
<div class='container h-100'>
|
<div class='container h-100'>
|
||||||
<div class='row justify-content-center align-items-center h-100'>
|
<div class='row justify-content-center align-items-center h-100'>
|
||||||
<div class='col-12'>
|
<div class='col-12'>
|
||||||
<div class='row justify-content-center'>
|
<div class='row justify-content-center'>
|
||||||
|
<div class="position-absolute perso">
|
||||||
|
<img src="img/2.2.png" alt="Riñones" class="img-fluid">
|
||||||
|
</div>
|
||||||
<div class="col-10 text-center">
|
<div class="col-10 text-center">
|
||||||
<h2 class="text-primary fw-bold">¿Qué son los riñones?</h2>
|
<h2 class="text-primary fw-bold">¿Qué son los riñones?</h2>
|
||||||
<hr class="border border-3 border-verde-oscuro hr-style mx-auto my-0 mb-3">
|
<hr class="border border-3 border-verde-oscuro hr-style mx-auto my-0 mb-3">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="row justify-content-end">
|
<div class="row justify-content-end">
|
||||||
<div class="col-10 px-0">
|
<div class="col-9 px-0">
|
||||||
<div class="card border-0 bg-custom">
|
<div class="card border-0 bg-custom">
|
||||||
<div class="card-body d-flex flex-row justify-content-between align-items-center">
|
<div class="card-body d-flex flex-row justify-content-between align-items-center">
|
||||||
<img src="img/2.1.png" alt="Riñones" class="img-fluid mx-3">
|
<img src="img/2.1.png" alt="Riñones" class="img-fluid mx-3">
|
||||||
@ -134,9 +142,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-12 my-2">
|
<div class="col-12 my-2">
|
||||||
<div class="row justify-content-center align-items-center">
|
<div class="row justify-content-center align-items-center">
|
||||||
<div class="col-3">
|
<div class="col-3"></div>
|
||||||
<img src="img/2.2.png" alt="Riñones" class="img-fluid">
|
|
||||||
</div>
|
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
<div class="main-video bg-primary rounded">
|
<div class="main-video bg-primary rounded">
|
||||||
<div
|
<div
|
||||||
|
|||||||
@ -12,11 +12,12 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.bg-custom {
|
.bg-custom {
|
||||||
background: #f0f4f2;
|
background: rgba(214, 227, 218, .8);
|
||||||
}
|
}
|
||||||
|
|
||||||
.bg-custom-transparent {
|
.bg-custom-transparent {
|
||||||
background: rgba(240, 244, 242, 0.6);
|
background: transparent;
|
||||||
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.drop-card {
|
.drop-card {
|
||||||
@ -53,11 +54,10 @@
|
|||||||
<hr class="border border-3 border-verde-oscuro hr-style mx-auto my-0">
|
<hr class="border border-3 border-verde-oscuro hr-style mx-auto my-0">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 px-0">
|
<div class="col-12 px-0">
|
||||||
<div class="card border-0 my-2 rounded-0 bg-custom shadow p-3 text-center">
|
<div class="card bg-custom border-0 my-2 rounded-0 shadow p-3 text-center">
|
||||||
<div class="d-flex justify-content-center align-items-center flex-row">
|
<div class="d-flex justify-content-center align-items-center flex-row">
|
||||||
<img src="img/3.1.png" class="img-fluid mx-3">
|
<img src="img/3.1.png" class="img-fluid mx-3">
|
||||||
<p class="mb-0"><strong>Instrucciones:</strong> Relaciona las imágenes de la columna A con la terapia a
|
<p class="mb-0"><strong>Instrucciones:</strong> Relaciona las imágenes con la terapia a la que corresponden.</p>
|
||||||
la que corresponden en la columna B.</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -70,17 +70,17 @@
|
|||||||
<div class="card bg-transparent border-0 rounded-0 shadow-none p-0">
|
<div class="card bg-transparent border-0 rounded-0 shadow-none p-0">
|
||||||
<div class="d-flex flex-row justify-content-center gap-3">
|
<div class="d-flex flex-row justify-content-center gap-3">
|
||||||
<div class="content-enfermedad text-center">
|
<div class="content-enfermedad text-center">
|
||||||
<div class="card rounded bg-custom-transparent border-0 shadow px-3 py-2 mt-2">
|
<div class="card rounded bg-custom-transparent border-0 shadow-none px-3 py-2 mt-2">
|
||||||
<img src="img/3.2.png" class="img-fluid">
|
<img src="img/3.2.png" class="img-fluid">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="content-enfermedad text-center">
|
<div class="content-enfermedad text-center">
|
||||||
<div class="card rounded bg-custom-transparent border-0 shadow px-3 py-2 mt-2">
|
<div class="card rounded bg-custom-transparent border-0 shadow-none px-3 py-2 mt-2">
|
||||||
<img src="img/3.3.png" class="img-fluid">
|
<img src="img/3.3.png" class="img-fluid">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="content-enfermedad text-center">
|
<div class="content-enfermedad text-center">
|
||||||
<div class="card rounded bg-custom-transparent border-0 shadow px-3 py-2 mt-2">
|
<div class="card rounded bg-custom-transparent border-0 shadow-none px-3 py-2 mt-2">
|
||||||
<img src="img/3.4.png" class="img-fluid">
|
<img src="img/3.4.png" class="img-fluid">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -85,8 +85,7 @@
|
|||||||
<div class="card border-0 my-2 rounded bg-secondary shadow p-3 text-center">
|
<div class="card border-0 my-2 rounded bg-secondary shadow p-3 text-center">
|
||||||
<div class="d-flex justify-content-center align-items-center flex-row">
|
<div class="d-flex justify-content-center align-items-center flex-row">
|
||||||
<img src="img/2.1.png" class="img-fluid mx-3">
|
<img src="img/2.1.png" class="img-fluid mx-3">
|
||||||
<p class="mb-0"><strong>Instrucciones:</strong> Toma los nombres en la caja y arrástralos hacia el lugar
|
<p class="mb-0"><strong>Instrucciones:</strong> Toma los nombres y arrástralos hacia el lugar que les corresponda en las imágenes.</p>
|
||||||
que les corresponda en las imágenes.</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -51,7 +51,7 @@
|
|||||||
<div class='container h-100'>
|
<div class='container h-100'>
|
||||||
<div class='row justify-content-center align-items-center h-100'>
|
<div class='row justify-content-center align-items-center h-100'>
|
||||||
<div class='col-12'>
|
<div class='col-12'>
|
||||||
<div class='row justify-content-center'>
|
<div id="drag-drop-activity" class='row justify-content-center'>
|
||||||
<div class="col-11">
|
<div class="col-11">
|
||||||
<h2 class="text-center fw-bold text-primary">¿Cómo funciona la diálisis peritoneal?</h2>
|
<h2 class="text-center fw-bold text-primary">¿Cómo funciona la diálisis peritoneal?</h2>
|
||||||
<hr class="border border-3 border-verde-oscuro hr-style mx-auto my-0">
|
<hr class="border border-3 border-verde-oscuro hr-style mx-auto my-0">
|
||||||
|
|||||||
@ -28,8 +28,7 @@
|
|||||||
<div class="card border-0 my-2 rounded bg-secondary shadow p-3 text-center">
|
<div class="card border-0 my-2 rounded bg-secondary shadow p-3 text-center">
|
||||||
<div class="d-flex justify-content-center align-items-center flex-row">
|
<div class="d-flex justify-content-center align-items-center flex-row">
|
||||||
<img src="img/2.1.png" class="img-fluid mx-3">
|
<img src="img/2.1.png" class="img-fluid mx-3">
|
||||||
<p class="mb-0"><strong>Instrucciones:</strong> Arrastre los pasos del recambio para
|
<p class="mb-0"><strong>Instrucciones:</strong> Arrastra los pasos del recambio para colocarlos en el orden correcto.</p>
|
||||||
colocarlos en el orden correcto.</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -77,22 +76,28 @@
|
|||||||
return shuffled;
|
return shuffled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const imgNums = ['img/06.0.png', 'img/06.1.png', 'img/06.2.png'];
|
||||||
|
|
||||||
// Crear y mezclar las tarjetas
|
// Crear y mezclar las tarjetas
|
||||||
function createShuffledCards() {
|
function createShuffledCards() {
|
||||||
const cards = [1, 2, 3];
|
const cards = [1, 2, 3];
|
||||||
const shuffledCards = shuffleArray(cards);
|
let shuffledCards;
|
||||||
|
do {
|
||||||
|
shuffledCards = shuffleArray(cards);
|
||||||
|
} while (shuffledCards[0] === 1 && shuffledCards[1] === 2 && shuffledCards[2] === 3);
|
||||||
const container = $('#sortable-cards');
|
const container = $('#sortable-cards');
|
||||||
|
|
||||||
// Limpiar contenedor
|
// Limpiar contenedor
|
||||||
container.empty();
|
container.empty();
|
||||||
|
|
||||||
// Crear tarjetas mezcladas
|
// Crear tarjetas mezcladas
|
||||||
shuffledCards.forEach(number => {
|
shuffledCards.forEach((number, index) => {
|
||||||
const cardHtml = `
|
const cardHtml = `
|
||||||
<div class="card border-0 card-sort bg-verde-claro text-white fw-bold text-center"
|
<div class="card border-0 card-sort bg-transparent text-white fw-bold text-center shadow-none"
|
||||||
data-order="${number}"
|
data-order="${number}"
|
||||||
style="cursor:grab;">
|
style="cursor:grab;">
|
||||||
<div class="card-body px-0 py-0">
|
<div class='position-relative w-100 nums'><img src="${imgNums[number-1]}" class="img-fluid"></div>
|
||||||
|
<div class="card-body bg-verde-claro px-0 py-0">
|
||||||
<img src="img/5.${number}b.png" class="img-fluid">
|
<img src="img/5.${number}b.png" class="img-fluid">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -106,9 +111,9 @@
|
|||||||
let correct = true;
|
let correct = true;
|
||||||
$('#sortable-cards .card-sort').each(function (index) {
|
$('#sortable-cards .card-sort').each(function (index) {
|
||||||
if ($(this).data('order') === index + 1) {
|
if ($(this).data('order') === index + 1) {
|
||||||
$(this).removeClass('bg-verde-claro').addClass('bg-verde-pasto');
|
$(this).find('.card-body').removeClass('bg-verde-claro').addClass('bg-verde-pasto');
|
||||||
} else {
|
} else {
|
||||||
$(this).removeClass('bg-verde-pasto').addClass('bg-verde-claro');
|
$(this).find('.card-body').removeClass('bg-verde-pasto').addClass('bg-verde-claro');
|
||||||
correct = false;
|
correct = false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@ -159,19 +159,19 @@
|
|||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="d-flex flex-row justify-content-center align-items-center gap-3">
|
<div class="d-flex flex-row justify-content-center align-items-center gap-3">
|
||||||
<div class="object-btn text-center d-inline-block animate__animated animate__pulse animate__infinite" data-obj="0">
|
<div class="object-btn text-center d-inline-block animate__animated animate__pulse animate__infinite" data-obj="0">
|
||||||
<img src="img/07.0.png" class="img-fluid">
|
<img src="img/07.4.png" class="img-fluid">
|
||||||
</div>
|
</div>
|
||||||
<div class="object-btn text-center d-inline-block animate__animated animate__pulse animate__infinite" data-obj="1">
|
<div class="object-btn text-center d-inline-block animate__animated animate__pulse animate__infinite" data-obj="1">
|
||||||
<img src="img/07.1.png" class="img-fluid">
|
<img src="img/07.3.png" class="img-fluid">
|
||||||
</div>
|
</div>
|
||||||
<div class="object-btn text-center d-inline-block animate__animated animate__pulse animate__infinite" data-obj="2">
|
<div class="object-btn text-center d-inline-block animate__animated animate__pulse animate__infinite" data-obj="2">
|
||||||
<img src="img/07.2.png" class="img-fluid">
|
<img src="img/07.2.png" class="img-fluid">
|
||||||
</div>
|
</div>
|
||||||
<div class="object-btn text-center d-inline-block animate__animated animate__pulse animate__infinite" data-obj="3">
|
<div class="object-btn text-center d-inline-block animate__animated animate__pulse animate__infinite" data-obj="3">
|
||||||
<img src="img/07.3.png" class="img-fluid">
|
<img src="img/07.1.png" class="img-fluid">
|
||||||
</div>
|
</div>
|
||||||
<div class="object-btn text-center d-inline-block animate__animated animate__pulse animate__infinite" data-obj="4">
|
<div class="object-btn text-center d-inline-block animate__animated animate__pulse animate__infinite" data-obj="4">
|
||||||
<img src="img/07.4.png" class="img-fluid">
|
<img src="img/07.0.png" class="img-fluid">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -223,7 +223,7 @@
|
|||||||
const bad = CourseNav.createSound('audio/feedback-incorrect.mpeg');
|
const bad = CourseNav.createSound('audio/feedback-incorrect.mpeg');
|
||||||
const good = CourseNav.createSound('audio/feedback-correct.mpeg');
|
const good = CourseNav.createSound('audio/feedback-correct.mpeg');
|
||||||
|
|
||||||
const urlExcelFile = 'verdadero_falso.xlsx';
|
const urlExcelFile = 'Actividades_Rotafolio_Vantive.xlsx';
|
||||||
|
|
||||||
function readExcelFile(url, callback) {
|
function readExcelFile(url, callback) {
|
||||||
var xhr = new XMLHttpRequest();
|
var xhr = new XMLHttpRequest();
|
||||||
@ -274,8 +274,8 @@
|
|||||||
|
|
||||||
// Cargar preguntas al inicio
|
// Cargar preguntas al inicio
|
||||||
readExcelFile(urlExcelFile, function(data) {
|
readExcelFile(urlExcelFile, function(data) {
|
||||||
const sheetData = data[Object.keys(data)[0]];
|
const hojaDatos = data["Diapositiva 7"];
|
||||||
questions = procesarPreguntas(sheetData);
|
questions = procesarPreguntas(hojaDatos);
|
||||||
});
|
});
|
||||||
|
|
||||||
$('.object-btn').click(function (e) {
|
$('.object-btn').click(function (e) {
|
||||||
@ -289,9 +289,9 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
function showRandomQuestion() {
|
function showRandomQuestion() {
|
||||||
// Seleccionar pregunta aleatoria
|
// Seleccionar pregunta en orden secuencial
|
||||||
const randomIndex = Math.floor(Math.random() * questions.length);
|
currentQuestion = questions[currentQuestionIndex];
|
||||||
currentQuestion = questions[randomIndex];
|
currentQuestionIndex = (currentQuestionIndex + 1) % questions.length;
|
||||||
|
|
||||||
const html = $("#pops-questions").html();
|
const html = $("#pops-questions").html();
|
||||||
Swal.fire({
|
Swal.fire({
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
.hr-style {
|
.hr-style {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
width: 40%;
|
width: 80%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-respuesta {
|
.btn-respuesta {
|
||||||
@ -41,8 +41,7 @@
|
|||||||
<div class="card bg-lila-claro border-0 my-2 rounded-4 bg-custom px-3 py-2 text-center">
|
<div class="card bg-lila-claro border-0 my-2 rounded-4 bg-custom px-3 py-2 text-center">
|
||||||
<div class="d-flex justify-content-center align-items-center flex-row">
|
<div class="d-flex justify-content-center align-items-center flex-row">
|
||||||
<img src="img/12.3.png" class="img-fluid mx-3">
|
<img src="img/12.3.png" class="img-fluid mx-3">
|
||||||
<p class="mb-0 text-white text-start">Lee lo que opinan dos doctores sobre los cuidados del sitio de salida y las complicaciones que pueden surgir si no se
|
<p class="mb-0 text-white text-start">Lee lo que opinan dos doctores sobre los cuidados del sitio de salida y las complicaciones que pueden surgir si no se hacen correctamente. Analiza cuidadosamente sus argumentos y elige quién tiene la razón.</p>
|
||||||
hace correctamente. Analiza cuidadosamente sus argumentos y elige quién tiene la razón.</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -86,7 +85,7 @@
|
|||||||
const feedbackincorrect = CourseNav.createSound('audio/feedback-incorrect.mpeg');
|
const feedbackincorrect = CourseNav.createSound('audio/feedback-incorrect.mpeg');
|
||||||
|
|
||||||
const imgPerso = ['img/12.0.png','img/12.1.png'];
|
const imgPerso = ['img/12.0.png','img/12.1.png'];
|
||||||
const urlExcelFile = 'versus.xlsx';
|
const urlExcelFile = 'Actividades_Rotafolio_Vantive.xlsx';
|
||||||
let versusData;
|
let versusData;
|
||||||
let currentQuestionIndex = 0;
|
let currentQuestionIndex = 0;
|
||||||
|
|
||||||
@ -116,6 +115,14 @@
|
|||||||
return array;
|
return array;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function procesarPreguntas(data) {
|
||||||
|
return data.map(fila => ({
|
||||||
|
pregunta: fila.pregunta ? String(fila.pregunta).trim() : '',
|
||||||
|
opcion: fila.opcion ? String(fila.opcion).trim() : '',
|
||||||
|
opcion_c: fila.opcion_c ? String(fila.opcion_c).trim() : ''
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
function createIndicators(total) {
|
function createIndicators(total) {
|
||||||
const container = $('.indicadores-avance');
|
const container = $('.indicadores-avance');
|
||||||
container.empty();
|
container.empty();
|
||||||
@ -164,20 +171,20 @@
|
|||||||
|
|
||||||
const leftResponse = randomOrder ? responses[0] : responses[1];
|
const leftResponse = randomOrder ? responses[0] : responses[1];
|
||||||
const rightResponse = randomOrder ? responses[1] : responses[0];
|
const rightResponse = randomOrder ? responses[1] : responses[0];
|
||||||
const leftIsCorrect = randomOrder ? true : false; // opcion_c es la correcta
|
const leftIsCorrect = randomOrder ? false : true; // opcion_c es la correcta
|
||||||
|
|
||||||
const structure = `
|
const structure = `
|
||||||
<div class="btn-respuesta" data-correct="${leftIsCorrect}">
|
<div class="btn-respuesta" data-correct="${leftIsCorrect}">
|
||||||
<div class="d-flex flex-column justify-content-center align-items-center gap-0">
|
<div class="d-flex flex-column justify-content-center align-items-center gap-0">
|
||||||
<img src="${shuffledImages[0]}" alt="personaje">
|
<img src="${shuffledImages[0]}" alt="personaje" style="z-index:1;">
|
||||||
<div class="card bg-verde-ceniza border-0 shadow rounded-15 pt-5 px-3 pb-3 text-center text-respuesta text-white">${leftResponse || ''}</div>
|
<div class="card bg-verde-ceniza border-0 shadow rounded-15 pt-5 px-3 pb-3 text-center text-respuesta text-white" style="margin-top: -60px;">${leftResponse || ''}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<img src="img/12.2.png" class="img-fluid mx-2">
|
<img src="img/12.2.png" class="img-fluid mx-2">
|
||||||
<div class="btn-respuesta" data-correct="${!leftIsCorrect}">
|
<div class="btn-respuesta" data-correct="${!leftIsCorrect}">
|
||||||
<div class="d-flex flex-column justify-content-center align-items-center gap-0">
|
<div class="d-flex flex-column justify-content-center align-items-center gap-0">
|
||||||
<img src="${shuffledImages[1]}" alt="personaje">
|
<img src="${shuffledImages[1]}" alt="personaje" style="z-index:1;">
|
||||||
<div class="card bg-verde-ceniza border-0 shadow rounded-15 pt-5 px-3 pb-3 text-center text-respuesta text-white">${rightResponse || ''}</div>
|
<div class="card bg-verde-ceniza border-0 shadow rounded-15 pt-5 px-3 pb-3 text-center text-respuesta text-white" style="margin-top: -60px;">${rightResponse || ''}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
@ -252,8 +259,8 @@
|
|||||||
|
|
||||||
// Cargar datos del Excel
|
// Cargar datos del Excel
|
||||||
readExcelFile(urlExcelFile, function(data) {
|
readExcelFile(urlExcelFile, function(data) {
|
||||||
const sheetData = data[Object.keys(data)[0]];
|
const hojaDatos = data["Diapositiva 14"];
|
||||||
versusData = sheetData;
|
versusData = procesarPreguntas(hojaDatos);
|
||||||
console.log('Datos cargados:', versusData);
|
console.log('Datos cargados:', versusData);
|
||||||
createIndicators(versusData.length);
|
createIndicators(versusData.length);
|
||||||
createVersusStructure();
|
createVersusStructure();
|
||||||
|
|||||||
@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
.img-sotable.disabled {
|
.img-sotable.disabled {
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
opacity: 0.7;
|
background-color: #84a816;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<div class='page-sco py-2 py-md-0 h-100'>
|
<div class='page-sco py-2 py-md-0 h-100'>
|
||||||
@ -50,7 +50,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 col-actividad">
|
<div class="col-12 col-actividad" style="overflow: hidden;">
|
||||||
<div class="custom-grid">
|
<div class="custom-grid">
|
||||||
<div class="img-sotable" data-order="0">
|
<div class="img-sotable" data-order="0">
|
||||||
<img src="img/14.0.png" class="img-fluid">
|
<img src="img/14.0.png" class="img-fluid">
|
||||||
@ -137,6 +137,7 @@
|
|||||||
// Initialize sortable
|
// Initialize sortable
|
||||||
$('.custom-grid').sortable({
|
$('.custom-grid').sortable({
|
||||||
items: '.img-sotable',
|
items: '.img-sotable',
|
||||||
|
containment: ".wrap-course-content",
|
||||||
cursor: 'grabbing',
|
cursor: 'grabbing',
|
||||||
tolerance: 'pointer',
|
tolerance: 'pointer',
|
||||||
helper: "clone",
|
helper: "clone",
|
||||||
|
|||||||
@ -215,10 +215,7 @@
|
|||||||
CourseNav.audioController.stopAllSoundsAndPlay(good);
|
CourseNav.audioController.stopAllSoundsAndPlay(good);
|
||||||
correctQuestions++;
|
correctQuestions++;
|
||||||
|
|
||||||
// Show puzzle piece only for first 3 questions
|
$(`#pz${correctQuestions - 1}`).show();
|
||||||
if (correctQuestions <= 3) {
|
|
||||||
$(`#pz${correctQuestions - 1}`).show();
|
|
||||||
}
|
|
||||||
|
|
||||||
currentQuestionIndex++;
|
currentQuestionIndex++;
|
||||||
|
|
||||||
@ -229,8 +226,6 @@
|
|||||||
displayQuestion();
|
displayQuestion();
|
||||||
}, 500);
|
}, 500);
|
||||||
} else {
|
} else {
|
||||||
// Show remaining pieces and hide col-actividad
|
|
||||||
$('#pz3,#pz4').show();
|
|
||||||
$('.col-actividad').hide();
|
$('.col-actividad').hide();
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
checkAllCompleted();
|
checkAllCompleted();
|
||||||
|
|||||||
@ -57,7 +57,7 @@
|
|||||||
<div class="card bg-verde-gris border-0 my-2 rounded-4 bg-custom p-3 text-center">
|
<div class="card bg-verde-gris border-0 my-2 rounded-4 bg-custom p-3 text-center">
|
||||||
<div class="d-flex justify-content-center align-items-center flex-row">
|
<div class="d-flex justify-content-center align-items-center flex-row">
|
||||||
<img src="img/08.0.png" class="img-fluid mx-3">
|
<img src="img/08.0.png" class="img-fluid mx-3">
|
||||||
<p class="mb-0"><strong>Instrucciones:</strong> Toma los tipos de terapia que se presentan en la caja y arrástralos hacia el registro que les corresponde.</p>
|
<p class="mb-0"><strong>Instrucciones:</strong> Toma los tipos de terapia que se presentan y arrástralos hacia el registro que les corresponde.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -37,6 +37,7 @@
|
|||||||
.object-btn {
|
.object-btn {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
width: 19%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-answer {
|
.btn-answer {
|
||||||
@ -110,7 +111,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-11">
|
<div class="col-11">
|
||||||
<div class="d-flex flex-row justify-content-center align-items-center gap-4">
|
<div class="d-flex flex-row justify-content-center gap-2">
|
||||||
<div class="object-btn text-center d-inline-block" data-obj="0">
|
<div class="object-btn text-center d-inline-block" data-obj="0">
|
||||||
<img src="img/18.0.png" class="img-fluid mb-2 animate__animated animate__pulse animate__infinite"><br>
|
<img src="img/18.0.png" class="img-fluid mb-2 animate__animated animate__pulse animate__infinite"><br>
|
||||||
<h4 class="fw-bold text-center text-primary">Sala: Estilo de vida</h4>
|
<h4 class="fw-bold text-center text-primary">Sala: Estilo de vida</h4>
|
||||||
|
|||||||
@ -160,8 +160,8 @@
|
|||||||
<img src="img/ruleta/per1.png" alt="" class="img-fluid" />
|
<img src="img/ruleta/per1.png" alt="" class="img-fluid" />
|
||||||
</div>
|
</div>
|
||||||
<div class="col-8 text-white text-center">
|
<div class="col-8 text-white text-center">
|
||||||
<p class="display-6">Puntos acumulados:</p>
|
<h4>Puntos acumulados:</h4>
|
||||||
<p class="puntos">0</p>
|
<h2 class="puntos">0</h2>
|
||||||
<div class="card flat">
|
<div class="card flat">
|
||||||
<img src="img/ruleta/progress.png" alt="" class="img-fluid" />
|
<img src="img/ruleta/progress.png" alt="" class="img-fluid" />
|
||||||
<div class="wavance position-absolute d-flex flex-row align-items-center justify-content-start w-100" style="top: 22%">
|
<div class="wavance position-absolute d-flex flex-row align-items-center justify-content-start w-100" style="top: 22%">
|
||||||
@ -181,7 +181,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12 text-center">
|
<div class="col-12 text-center">
|
||||||
<div class="mt-3">
|
<div class="mt-3">
|
||||||
<button id="spin-btn" class="bg-verde-oscuro text-white border border-4 border-white">¡GIRAR RULETA!</button>
|
<button id="spin-btn" class="bg-verde-oscuro text-white border border-4 border-white animate__animated animate__pulse animate__infinite">¡GIRAR RULETA!</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -241,6 +241,7 @@
|
|||||||
|
|
||||||
isSpinning = true;
|
isSpinning = true;
|
||||||
spinBtn.disabled = true;
|
spinBtn.disabled = true;
|
||||||
|
spinBtn.classList.remove("animate__animated", "animate__pulse", "animate__infinite");
|
||||||
ruletaWheel.classList.add("spinning");
|
ruletaWheel.classList.add("spinning");
|
||||||
document.getElementById("coursenav-main-content").classList.add("no-overflow");
|
document.getElementById("coursenav-main-content").classList.add("no-overflow");
|
||||||
// Mínimo 3 vueltas + ángulo aleatorio (siempre hacia la derecha)
|
// Mínimo 3 vueltas + ángulo aleatorio (siempre hacia la derecha)
|
||||||
@ -394,13 +395,15 @@
|
|||||||
icon: "success",
|
icon: "success",
|
||||||
target: document.getElementById('wrap-course-content'),
|
target: document.getElementById('wrap-course-content'),
|
||||||
confirmButtonText: "Continuar",
|
confirmButtonText: "Continuar",
|
||||||
}).then(() => finalizarTurno());
|
}).then(() => {
|
||||||
|
finalizarTurno();
|
||||||
|
if (girosRealizados < maxGiros) {
|
||||||
|
spinBtn.classList.add("animate__animated", "animate__pulse", "animate__infinite");
|
||||||
|
}
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
CourseNav.audioController.stopAllSoundsAndPlay(bad);
|
CourseNav.audioController.stopAllSoundsAndPlay(bad);
|
||||||
// Solo sonido, sin popup - no cuenta como intento
|
// Solo sonido, el usuario puede seguir intentando
|
||||||
setTimeout(() => {
|
|
||||||
finalizarTurno();
|
|
||||||
}, 1000);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
2
css/style.min.css
vendored
@ -8,6 +8,7 @@ $outline-color: #ffa300 !default;
|
|||||||
html {
|
html {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
*,
|
*,
|
||||||
*::before,
|
*::before,
|
||||||
@ -25,6 +26,7 @@ body {
|
|||||||
font-family: 'Arial', sans-serif;
|
font-family: 'Arial', sans-serif;
|
||||||
line-height: 1.3;
|
line-height: 1.3;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
> header,
|
> header,
|
||||||
> footer {
|
> footer {
|
||||||
@ -428,7 +430,7 @@ $transition-time: 0.3s !default;
|
|||||||
}
|
}
|
||||||
|
|
||||||
#coursenav-main-content {
|
#coursenav-main-content {
|
||||||
height: 100%;
|
height: calc(100% - 85px);
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
}
|
}
|
||||||
.stepper {
|
.stepper {
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
html {
|
html {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
*,
|
*,
|
||||||
@ -18,6 +19,7 @@ body {
|
|||||||
font-family: "Arial", sans-serif;
|
font-family: "Arial", sans-serif;
|
||||||
line-height: 1.3;
|
line-height: 1.3;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
body > header,
|
body > header,
|
||||||
body > footer {
|
body > footer {
|
||||||
@ -411,7 +413,7 @@ body > main {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#coursenav-main-content {
|
#coursenav-main-content {
|
||||||
height: 100%;
|
height: calc(100% - 85px);
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
BIN
img/06.0.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
img/06.1.png
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
BIN
img/06.2.png
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
img/09.14.png
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 50 KiB |
BIN
img/18.0.png
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 33 KiB |
BIN
img/18.1.png
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 33 KiB |
BIN
img/18.2.png
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 22 KiB |
BIN
img/18.3.png
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 36 KiB |
BIN
img/18.4.png
|
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 25 KiB |
BIN
img/3.2.png
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 68 KiB |
BIN
img/3.3.png
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 47 KiB |
BIN
img/3.4.png
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 78 KiB |
225
img/puzzle.svg
|
Before Width: | Height: | Size: 2.4 MiB After Width: | Height: | Size: 2.6 MiB |
@ -361,21 +361,16 @@ var CourseNav = (function (COURSE_CONFIG) {
|
|||||||
|
|
||||||
const idx = courseData.contentArray.findIndex((c) => c.content === item.content && c.title === item.title);
|
const idx = courseData.contentArray.findIndex((c) => c.content === item.content && c.title === item.title);
|
||||||
link.dataset.coursenavindex = idx;
|
link.dataset.coursenavindex = idx;
|
||||||
link.dataset.coursenavvisited = idx >= 0 && courseData.contentArray[idx].visited;
|
link.dataset.coursenavvisited = "true";
|
||||||
wdiv.appendChild(link);
|
wdiv.appendChild(link);
|
||||||
|
|
||||||
link.addEventListener("click", () => {
|
link.addEventListener("click", () => {
|
||||||
CLICK_SOUND.play();
|
CLICK_SOUND.play();
|
||||||
const index = parseInt(link.dataset.coursenavindex, 10);
|
const index = parseInt(link.dataset.coursenavindex, 10);
|
||||||
if (index >= 0) {
|
if (index >= 0) {
|
||||||
if (DEBUG || courseData.contentArray[index].visited) {
|
currentIndex = index;
|
||||||
currentIndex = index;
|
closeSidebar();
|
||||||
closeSidebar();
|
loadContent();
|
||||||
loadContent();
|
|
||||||
} else {
|
|
||||||
closeSidebar();
|
|
||||||
showLockedContentWarning();
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
const toggle = wdiv.querySelector(".toggle-icon");
|
const toggle = wdiv.querySelector(".toggle-icon");
|
||||||
toggle && toggle.click();
|
toggle && toggle.click();
|
||||||
@ -504,8 +499,8 @@ var CourseNav = (function (COURSE_CONFIG) {
|
|||||||
const idx = parseInt(link.dataset.coursenavindex, 10);
|
const idx = parseInt(link.dataset.coursenavindex, 10);
|
||||||
const item = courseData.contentArray[idx];
|
const item = courseData.contentArray[idx];
|
||||||
if (item) {
|
if (item) {
|
||||||
link.dataset.coursenavvisited = item.visited;
|
link.dataset.coursenavvisited = "true";
|
||||||
item.visited ? link.classList.add("visited") : link.classList.remove("visited");
|
link.classList.add("visited");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||