Last active
August 17, 2022 17:03
-
-
Save bfritscher/4fc93ce96d58b2df01f334e10f1493b8 to your computer and use it in GitHub Desktop.
cyberlearn fix
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==UserScript== | |
// @name cyberlearn fix | |
// @namespace ig.he-arc.ch | |
// @match https://cyberlearn.hes-so.ch/* | |
// @grant none | |
// @version 1.0 | |
// @author Boris Fritscher | |
// @description 8/16/2022, 10:49:56 AM | |
// ==/UserScript== | |
// remove ad links | |
const lis = [...document.querySelectorAll(".primary-navigation .moremenu ul li")] | |
if(lis.length > 4) { | |
for(let i=1; i <=3; i++){ | |
lis[lis.length-(i+1)].remove(); | |
} | |
} | |
//remove help | |
const btCircle = document.getElementById("bt_circle") | |
if (btCircle) { | |
btCircle.remove(); | |
} | |
function addMenuItems(el, classification) { | |
return new Promise((resolve, reject) => { | |
require(['core_course/repository'], (repo) => repo.getEnrolledCoursesByTimelineClassification(classification, 0, 0, 'fullname').then((res) => { | |
res.courses.forEach(course => { | |
const li = document.createElement('li'); | |
li.innerHTML = `<a href="${course.viewurl}" class="dropdown-item">${course.fullnamedisplay}</a>`; | |
el.append(li); | |
}) | |
resolve(); | |
})); | |
}) | |
} | |
function addHeader(el, name) { | |
const h6 = document.createElement('h6'); | |
h6.classList.add('dropdown-header'); | |
h6.textContent = name; | |
el.append(h6); | |
} | |
function addDivider(el) { | |
const div = document.createElement('div'); | |
div.classList.add('dropdown-divider'); | |
el.append(div); | |
} | |
async function createCoursesMenu () { | |
const div = document.createElement('div'); | |
div.classList.add('dropdown', 'dropdown'); | |
div.innerHTML = '<a href="#" data-toggle="dropdown" class="btn dropdown-toggle">courses</a>'; | |
const ul = document.createElement('ul'); | |
ul.classList.add('dropdown-menu', 'dropdown-menu-right'); | |
div.append(ul); | |
document.getElementById("usernavigation").prepend(div); | |
addHeader(ul, 'In Progress'); | |
await addMenuItems(ul, 'inprogress'); | |
addDivider(ul); | |
addHeader(ul, 'Future') | |
await addMenuItems(ul, 'future'); | |
addDivider(ul); | |
addHeader(ul, 'Past') | |
await addMenuItems(ul, 'past'); | |
} | |
createCoursesMenu(); | |
const style = document.createElement("style"); | |
style.innerText = ` | |
#page.drawers { | |
padding: 0 3rem; | |
} | |
.content h3 { | |
border-bottom: 2px solid #00609c; | |
margin-top: 0.5rem; | |
} | |
.content h4 { | |
font-style: italic; | |
font-size: 1rem; | |
margin-top: 0.5rem; | |
} | |
.course-content ul.ctopics li.section.main .content .sectionhead { | |
background-color: rgb(32 46 54 / 80%); | |
} | |
.course-content ul.ctopics li.section.main.current .content .sectionhead { | |
background-color: rgba(0, 124, 183, 1.0); | |
} | |
.course-content ul.ctopics li.section .content .toggle span.the_toggle h3.sectionname, | |
.course-content ul.ctopics li.section .content.sectionhidden h3.sectionname { | |
border: none; | |
} | |
.activityiconcontainer , | |
.activitytitle .activityiconcontainer { | |
width: 24px; | |
height: 24px; | |
} | |
.activityiconcontainer .activityicon, | |
.activityiconcontainer .icon { | |
height: 16px; | |
width: 16px; | |
} | |
.course-content ul.ctopics li.section .content .toggle span.the_toggle h3.sectionname, | |
.course-content ul.ctopics li.section .content.sectionhidden h3.sectionname { | |
margin-top: 0; | |
margin-bottom: 0; | |
text-align: left; | |
} | |
`; | |
document.head.append(style); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment