This commit is contained in:
OnlyTurtle committed 2026-01-17 10:08:08 +01:00
1 parent b5c39d8fab
commit 8b8edda534
3 files changed
+24 -6

No files matched your search

+1 -1
View File
@@ -87,7 +87,7 @@ function _getRect(parent, data) {
const allowBuy = aSkillPoints > 0 && isParentEnabled; const allowBuy = aSkillPoints > 0 && isParentEnabled;
div.innerHTML += ` div.innerHTML += `
<button onclick='_buySkill(${JSON.stringify(data)})' style="${allowBuy ? bttnStyle: bttnStyleDisabled}" ${allowBuy ? "": "disabled"}>Kaufen</button> <button onclick='_buySkill(${JSON.stringify(data)})' style="${allowBuy ? bttnStyle: bttnStyleDisabled}" ${allowBuy ? "": "disabled"}>Kaufen (1 Skillpoint)</button>
`; `;
} }
+15 -3
View File
@@ -210,6 +210,9 @@ async function startSurvey() {
console.log(code); console.log(code);
var course = await couchDB.get("course:" + code); var course = await couchDB.get("course:" + code);
if (course != undefined) { if (course != undefined) {
const voted = course.voted_user ??= [];
if (voted.includes(userData.name)) return;
const users = await couchDB.get("users"); const users = await couchDB.get("users");
users[userData.name].courses ??= []; users[userData.name].courses ??= [];
if (!users[userData.name].courses.includes(code)) { if (!users[userData.name].courses.includes(code)) {
@@ -222,13 +225,22 @@ async function startSurvey() {
} }
} }
async function bttnStartSurvey(code) {
var course = await couchDB.get("course:" + code);
const voted = course.voted_user ??= [];
if (voted.includes(userData.name)) return;
location.href = "./umfrage.html?course=" + code;
}
async function setCourseView() { async function setCourseView() {
const courseList = document.getElementById("courses-list"); const courseList = document.getElementById("courses-list");
courseList.innerHTML = ""; courseList.innerHTML = "";
for (const courseId of userData.courses) { for (const courseId of userData.courses) {
const course = await couchDB.get("course:" + courseId); const course = await couchDB.get("course:" + courseId);
const hasVoted = (course.voted_user ??= []).includes(userData.name);
const expire_date = new Date(course.expire_date); const expire_date = new Date(course.expire_date);
const isExpired = expire_date < new Date(); const isExpired = expire_date < new Date();
@@ -247,8 +259,8 @@ async function setCourseView() {
${course.description} ${course.description}
</div> </div>
${isExpired ? '': ` ${isExpired || hasVoted ? '': `
<button class="action start" onclick='location.href = "./umfrage.html?course=${courseId.trim()}";'> <button class="action start" onclick='bttnStartSurvey("${courseId.trim()}");'>
Umfrage Starten Umfrage Starten
</button>` </button>`
} }
+8 -2
View File
@@ -152,12 +152,18 @@ async function setCourse() {
return true; return true;
} }
async function updateCourseAnswer(answer) { async function updateCourseAnswer(answer, done = false) {
const args = getURLArgsMap(); const args = getURLArgsMap();
const coursename = args.course; const coursename = args.course;
if (!coursename) return null; if (!coursename) return null;
const kurs = await couchDB.get("course:" + coursename); const kurs = await couchDB.get("course:" + coursename);
if (!kurs) return null; if (!kurs) return null;
if (done) {
const voted = kurs.voted_user ??= [];
if (!voted.includes(userData.name)) voted.push(userData.name);
}
kurs.result.push(answer); kurs.result.push(answer);
await couchDB.set("course:" + coursename, kurs); await couchDB.set("course:" + coursename, kurs);
return kurs; return kurs;
@@ -275,7 +281,7 @@ function updateContent(old_page, page) {
} }
async function onFinishEva() { async function onFinishEva() {
await updateCourseAnswer(finalResult); await updateCourseAnswer(finalResult, true);
if (await levelUpXP(couchDB)) { if (await levelUpXP(couchDB)) {
const e = getId("level_up"); const e = getId("level_up");
if (e) e.style.display = "unset"; if (e) e.style.display = "unset";