export { DATE_FMT, DATETIME_FMT, dateStringNow, datetimeStringNow, getUserIconUrl, } from "./utils-common.ts"; export function isTeacher() { return ( Boolean(document.querySelector(".editmode-switch-form")) || document.body.classList.contains("editing") ); } export function getFirstAndLastname() { let firstname = ""; let lastname = ""; const autoNameDiv = document.getElementById("auto-name"); firstname = autoNameDiv.children[0].innerHTML; lastname = autoNameDiv.children[1].innerHTML; autoNameDiv.remove(); return [firstname, lastname]; } export function getName() { return document.querySelector("bycs-topbar").shadowRoot.querySelector("div.user-name") .textContent; } export function getUserId() { // M is exported by Moodle return String(M.cfg.userId); } export function getCourseId() { // M is exported by Moodle return String(M.cfg.courseId); } export async function getActivityUrl(name) { const courseUrl = `https://lernplattform.bycs.de/course/view.php?id=${getCourseId()}`; const courseRes = await fetch(courseUrl); const courseDoc = new DOMParser().parseFromString(await courseRes.text(), "text/html"); for (const n of courseDoc.querySelectorAll(".activity-name-area")) { if (n.textContent.includes(name)) { const match = /id=(\d+)/.exec(n.querySelector(".aalink").href); return `/mod/page/view.php?id=${match[1]}`; } } return ""; } export function getSesskey() { // M is exported by Moodle return String(M.cfg.sesskey); } export function getCourseParticipantsUrl() { return `https://lernplattform.bycs.de/user/index.php?id=${getCourseId()}&perpage=5000&tifirst&tilast`; } export class CourseLocalStorage { static getItem(key) { return localStorage.getItem(`${key}-${getCourseId()}`); } static setItem(key, val) { return localStorage.setItem(`${key}-${getCourseId()}`, val); } }