Missatge d'advertència dues aules
diff --git a/index.html b/index.html
index 90587f9..f331b26 100644
--- a/index.html
+++ b/index.html
@@ -79,6 +79,14 @@
<section id="section-2" class="section hidden">
<button class="button is-link is-light" onclick="switchSection('section-1')">Torna enrere (Classe)</button>
+ <div id="repeated-subject-warning" class="hidden">
+ <br><article class="message is-warning">
+ <div class="message-body">
+ Heu triat una assignatura que es fa en dues aules alhora. Comproveu que sou a l'aula <strong id="repeated-subject-warning-class">aula</strong>.
+ </div>
+ </article>
+ </div>
+
<div id="letter-container" class="buttons grid">
<button class="button" id="letter-A" data-letter="A">A</button>
<button class="button" id="letter-B" data-letter="B">B</button>
diff --git a/js/build_page.js b/js/build_page.js
index d170acd..61e7505 100644
--- a/js/build_page.js
+++ b/js/build_page.js
@@ -32,6 +32,7 @@
var current_section = "section-1";
+var repeated_subjects;
function fillInSummary() {
var begins = new Date(parseInt(final_JSON.class.begins)*1000);
@@ -56,6 +57,13 @@
btn.classList.add("is-link");
// Canvi JSON
final_JSON["class"] = selectedClass;
+ // Missatge advertència classe repetida
+ if (repeated_subjects.has(selectedClass.id)) {
+ document.getElementById('repeated-subject-warning').classList.remove('hidden');
+ document.getElementById('repeated-subject-warning-class').textContent = selectedClass.room;
+ } else {
+ document.getElementById('repeated-subject-warning').classList.add('hidden');
+ }
// Anchor següent pregunta
switchSection("section-2");
} else if (parent == "number-container") {
@@ -87,8 +95,19 @@
}, 75);
}
-function buildSubjectContainer(classes) {
+function findRepeatedSubjects(classes) {
+ var rep = new Set();
for (var [i, classe] of classes.entries()) {
+ if (i > 0 && classes[i-1].calendar_name == classe.calendar_name) {
+ rep.add(classe.id);
+ rep.add(classes[i-1].id);
+ }
+ }
+ return rep;
+}
+
+function buildSubjectContainer(classes, repeated) {
+ for (var classe of classes) {
var hora_inici = formatDate(new Date(parseInt(classe.begins)*1000));
var hora_final = formatDate(new Date(parseInt(classe.ends)*1000));
@@ -108,9 +127,7 @@
var span = document.createElement('span');
span.textContent = classe.room;
- if (i > 0 && classes[i-1].calendar_name == classe.calendar_name) {
- div1.classList.add('has-text-danger', 'has-text-weight-bold');
- } else if (i < classes.length - 1 && classes[i+1].calendar_name == classe.calendar_name) {
+ if (repeated.has(classe.id)) {
div1.classList.add('has-text-danger', 'has-text-weight-bold');
}
@@ -194,7 +211,8 @@
if (data.payload.classes.length == 0) {
document.getElementById('no-subjects').classList.remove('hidden');
} else {
- buildSubjectContainer(data.payload.classes);
+ repeated_subjects = findRepeatedSubjects(data.payload.classes);
+ buildSubjectContainer(data.payload.classes, repeated_subjects);
document.getElementById('fme-maps-container').classList.remove('hidden');
}
@@ -248,7 +266,7 @@
});
document.getElementById("send-button").addEventListener('click', function (el) {
- document.getElementById('send-button').classList.add('is-loading');
+ el.classList.add('is-loading');
sendForm();
});
}