Skip to content

Commit 918cd91

Browse files
committed
Bug fix
1 parent 8249fc9 commit 918cd91

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

src/checker/checker.js

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ try {
3333

3434
var courses = [];
3535
var segmentsArray = [];
36+
var courseSegmentsArray = [];
3637
var questionsArray = [];
3738
let currentAnswerMode;
3839
let currentSetType = "brackets";
@@ -498,9 +499,9 @@ try {
498499
document.querySelector('.alert').setAttribute('hidden', '');
499500
}
500501
}
501-
segmentsArray = segmentsArray.filter(s => String(s.course) === String(course.id));
502+
courseSegmentsArray = segmentsArray.filter(s => String(s.course) === String(course.id));
502503
segments.innerHTML = '';
503-
segmentsArray.sort((a, b) => a.order - b.order).forEach(segment => {
504+
courseSegmentsArray.sort((a, b) => a.order - b.order).forEach(segment => {
504505
const option = document.createElement('option');
505506
option.value = segment.id;
506507
var questionStatuses = [];
@@ -526,14 +527,14 @@ try {
526527
});
527528
const today = new Date();
528529
const todayString = today.toLocaleDateString('en-US', { weekday: 'short', year: 'numeric', month: 'short', day: 'numeric' });
529-
const sortedSegments = segmentsArray.filter(s => s.due).sort((a, b) => new Date(`${a.due}T00:00:00`) - new Date(`${b.due}T00:00:00`));
530+
const sortedSegments = courseSegmentsArray.filter(s => s.due).sort((a, b) => new Date(`${a.due}T00:00:00`) - new Date(`${b.due}T00:00:00`));
530531
segments.value = sortedSegments.find(s => {
531532
const dueDate = new Date(`${s.due}T00:00:00`);
532533
return dueDate.toLocaleDateString('en-US', { weekday: 'short', year: 'numeric', month: 'short', day: 'numeric' }) === todayString && today.getTime() <= periodRange[1];
533534
})?.id || sortedSegments.find(s => {
534535
const dueDate = new Date(`${s.due}T00:00:00`);
535536
return dueDate.getTime() > periodRange[1];
536-
})?.id || sortedSegments[0]?.id || segmentsArray[0]?.id;
537+
})?.id || sortedSegments[0]?.id || courseSegmentsArray[0]?.id;
537538
segments.removeEventListener("change", updateSegment);
538539
segments.addEventListener("change", updateSegment);
539540
// Update history feed
@@ -559,7 +560,7 @@ try {
559560
}
560561

561562
async function updateSegment(event, sameSegment = false) {
562-
const selectedSegment = segmentsArray.find(s => String(s.id) === String(segments.value));
563+
const selectedSegment = courseSegmentsArray.find(s => String(s.id) === String(segments.value));
563564
const selectedQuestionOption = questions.querySelector('option:checked');
564565
questions.innerHTML = '';
565566
if (!selectedSegment) return updateQuestion();
@@ -734,11 +735,11 @@ try {
734735
document.getElementById("segments-completed").classList.remove('incomplete');
735736
document.getElementById("segments-completed").classList.remove('complete');
736737
document.getElementById("segments-completed").classList.remove('mastery');
737-
if (segmentsArray && segmentsArray.length > 0) {
738+
if (courseSegmentsArray && courseSegmentsArray.length > 0) {
738739
var anyQuestionsInCourse = false;
739740
const masterySegments = [];
740741
const completedSegments = [];
741-
segmentsArray.forEach(segment => {
742+
courseSegmentsArray.forEach(segment => {
742743
const questionIds = JSON.parse(segment.question_ids || '[]');
743744
const segmentQuestions = questionIds.map(qi => questionsArray.find(q => String(q.id) === String(qi.id))).filter(q => q && !questionsArray.find(q2 => String(q2.stem) === String(q.id)));
744745
const totalQuestions = segmentQuestions.length;
@@ -1134,8 +1135,9 @@ try {
11341135
button.classList = (r.status === "Incorrect") ? 'incorrect' : (r.status === "Correct") ? 'correct' : '';
11351136
if (r.flagged) button.classList.add('flagged');
11361137
if (r.review_later) button.classList.add('reviewLater');
1137-
var response = `<b>Status:</b> ${r.status.includes('Unknown') ? r.status.split('Unknown, ')[1] : r.status}${(r.reason) ? `</p>\n<p><b>Response:</b> ${r.reason}<br>` : ''}</p><div data-modal-actions style="margin-top: -0.25rem;"><button data-flag-response><i class="bi bi-flag-fill"></i> ${r.flagged ? 'Unflag Response' : 'Report Error'}</button><button data-review-later-response><i class="bi ${r.review_later ? 'bi-bookmark-check-fill' : 'bi-bookmark-plus-fill'}"></i> ${r.review_later ? 'Mark Reviewed' : 'Review Later'}</button></div>`;
1138-
var segmentNumber = segmentsArray.find(s => (String(s.id) === String(r.segment)) && (courses.find(c => JSON.parse(c.periods).includes(Number(String(r.seatCode).slice(0, 1)))) ? (String(s.course) === String(courses.find(c => JSON.parse(c.periods).includes(Number(String(r.seatCode).slice(0, 1)))).id)) : true)) ? (segmentsArray.find(s => (String(s.id) === String(r.segment)) && (courses.find(c => JSON.parse(c.periods).includes(Number(String(r.seatCode).slice(0, 1)))) ? (String(s.course) === String(courses.find(c => JSON.parse(c.periods).includes(Number(String(r.seatCode).slice(0, 1)))).id)) : true)).number || r.segment) : (segmentsArray.find(s => (courses.find(c => JSON.parse(c.periods).includes(Number(String(r.seatCode).slice(0, 1)))) ? (String(s.course) === String(courses.find(c => JSON.parse(c.periods).includes(Number(String(r.seatCode).slice(0, 1)))).id)) : false) && JSON.parse(s.question_ids || [])?.find(q => String(q.id) === String(r.question_id)))?.number || null);
1138+
var response = `<b>Status:</b> ${r.status.includes('Unknown') ? r.status.split('Unknown, ')[1] : r.status}${(r.reason) ? `</p>\n<p><b>Response:</b> ${r.reason}<br>` : ''}</p>${(String(r.seatCode) === String(storage.get("code"))) ? `<div data-modal-actions style="margin-top: -0.25rem;"><button data-flag-response><i class="bi bi-flag-fill"></i> ${r.flagged ? 'Unflag Response' : 'Report Error'}</button><button data-review-later-response><i class="bi ${r.review_later ? 'bi-bookmark-check-fill' : 'bi-bookmark-plus-fill'}"></i> ${r.review_later ? 'Mark Reviewed' : 'Review Later'}</button></div>` : ''}`;
1139+
console.log(segmentsArray, r.segment, segmentsArray.find(s => String(s.id) === String(r.segment)))
1140+
var segmentNumber = segmentsArray.find(s => String(s.id) === String(r.segment))?.number || segmentsArray.find(s => JSON.parse(s.question_ids || [])?.find(q => String(q.id) === String(r.question_id)))?.number || null;
11391141
var questionNumber = JSON.parse(segmentsArray.find(s => String(s.id) === String(r.segment))?.question_ids || '[]').find(q => String(q.id) === String(r.question_id))?.name || questionsArray.find(question => String(question.id) === String(r.question_id)).number;
11401142
switch (r.mode) {
11411143
case 'latex':

0 commit comments

Comments
 (0)