// DEPENDENCIES: // * /scripts/global.js function loadSubject(id) { fetch("/lessons/index.json") .then((response) => response.json()) .then((data) => { var title = document.getElementById("title-banner"); var subtitle = document.getElementById("subtitle"); var container = document.getElementById("container"); var banner = document.getElementById("img-dynamic-subject"); console.log(data.subjects[id]); if (isLangIndonesia()) { title.innerHTML = data.subjects[id].titleId; } else { title.innerHTML = data.subjects[id].titleEn; } subtitle.innerHTML = data.subjects[id].splash; container.innerHTML = ""; var bannerPath = data.subjects[id].bannerOriginal; banner.style.setProperty("background-image", `url(${bannerPath})`) var chapterLength = data.subjects[id].chapters.length; for (var i = 0; i < chapterLength; i++) { var chapterContainer = `

${(isLangIndonesia()) ? "Bab" : "Chapter"} ${i + 1}: ${(isLangIndonesia()) ? data.subjects[id].chapters[i].titleId : data.subjects[id].chapters[i].titleEn}

` var lessonLength = data.subjects[id].chapters[i].lessons.length; if (lessonLength > 1) { for (var j = 0; j < lessonLength; j++) { var l = data.subjects[id].chapters[i].lessons[j]; var style = ""; if (j == 0) { style = "button-grouped-top"; } else if (j == lessonLength - 1) { style = "button-grouped-bottom"; } chapterContainer += ` ${(l.type == "lesson") ? '📚' :'✏️' } ${(isLangIndonesia()) ? l.titleId : l.titleEn} ` } } else { } chapterContainer += `\n
` container.innerHTML += chapterContainer; } // return data.subjects[id]; } ); } // DEPENDENCIES: // * /scripts/toc.js // * /scripts/global.js // * markdown-it function loadLesson(subject, chapter, lesson) { fetch("/lessons/index.json") .then((response) => response.json()) .then((data) => { var title = document.getElementById("title-banner"); var subtitle = document.getElementById("subtitle"); var container = document.getElementById("container") var chipStatus = document.getElementById("chip-status"); var chipAuthor = document.getElementById("chip-author"); var chipGrade = document.getElementById("chip-grade"); var lessonData = data.subjects[subject].chapters[chapter].lessons[lesson]; console.log(lessonData); if (isLangIndonesia()) { title.innerHTML = lessonData.titleId; subtitle.innerHTML = `Bab ${parseInt(chapter) + 1}`; container.innerHTML = ""; chipGrade.innerHTML = "Kelas " + lessonData.grade; if (lessonData.authors.length == 1) { chipAuthor.innerHTML = "Ditulis oleh " + lessonData.authors[0]; } else { chipAuthor.innerHTML = "Ditulis oleh "; for (var i = 0; i < lessonData.authors.length - 1; i++) { chipAuthor.innerHTML += lessonData.authors[i] + ", "; } chipAuthor.innerHTML += "dan " + lessonData.authors[lessonData.authors.length - 1]; } } else { title.innerHTML = lessonData.titleEn; subtitle.innerHTML = `Chapter ${parseInt(chapter) + 1}`; container.innerHTML = ""; chipGrade.innerHTML = "Grade " + lessonData.grade; if (lessonData.authors.length == 1) { chipAuthor.innerHTML = "Written by " + lessonData.authors[0]; } else { chipAuthor.innerHTML = "Written by "; for (var i = 0; i < lessonData.authors.length - 1; i++) { chipAuthor.innerHTML += lessonData.authors[i] + ", "; } chipAuthor.innerHTML += "and " + lessonData.authors[lessonData.authors.length - 1]; } } // why the heck switch case not working // guess i'm too stupid for a switch case. // no i'm not yandev if (isLangIndonesia()) { if (lessonData.status == 0) { chipStatus.innerHTML = "❓ Belum Terverifikasi"; } else if (lessonData.status == 1) { chipStatus.innerHTML = "✅ Terverifikasi"; } else if (lessonData.status == 2) { chipStatus.innerHTML = "⚠️ Mengandung Informasi Tidak Akurat"; } } else { if (lessonData.status == 0) { chipStatus.innerHTML = "❓ Not Verified"; } else if (lessonData.status == 1) { chipStatus.innerHTML = "✅ Verified"; } else if (lessonData.status == 2) { chipStatus.innerHTML = "⚠️ Contains Wrong Information"; } } fetch((isLangIndonesia()) ? lessonData.pathId : lessonData.pathEn) .then((response) => response.text()) .then((data) => { const md = markdownit({ "html": true }); data = data.replaceAll("!---(", `\n
\n`); data = data.replaceAll(")---!", `\n
\n`); data = data.replaceAll("#--(", `\n\n`); data = data.replaceAll(")--#", `\n\n`); container.innerHTML += md.render(data); }).then(() => { MathJax.typeset(); }).then(() => { toc(); }); } ); console.log(subject); console.log(chapter); console.log(lesson); } function loadQuiz(subject, chapter, lesson) { } function listSubjects() { fetch("/lessons/index.json") .then((response) => response.json()) .then((data) => { var container = document.getElementById("subject-container"); for (var i = 0; i < data.subjects.length; i++) { var card = `

${(isLangIndonesia()) ? data.subjects[i].titleId : data.subjects[i].titleEn}

`; container.innerHTML += card; } } ); }