Merge remote-tracking branch 'origin/master'
All checks were successful
Jenkins Production Deployment

# Conflicts:
#	index.html
This commit is contained in:
Patrick Müller 2022-02-25 09:32:09 +01:00
commit c631eb74cd
Signed by: Paddy
GPG Key ID: 3433DBC617B195CA
3 changed files with 51 additions and 9 deletions

View File

@ -8,6 +8,7 @@
<link rel="stylesheet" type="text/css" href="styles.css"> <link rel="stylesheet" type="text/css" href="styles.css">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous"> integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<link rel="stylesheet" href="https://use.typekit.net/eun8zle.css">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"
integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM"
crossorigin="anonymous"></script> crossorigin="anonymous"></script>
@ -15,7 +16,6 @@
<script src="https://kit.fontawesome.com/f2c150d561.js" <script src="https://kit.fontawesome.com/f2c150d561.js"
crossorigin="anonymous"> crossorigin="anonymous">
</script> </script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"></script>
<script src="scripts.js"></script> <script src="scripts.js"></script>
</head> </head>
@ -103,10 +103,11 @@
<option value="4">Kryptographische Verfahren</option> <option value="4">Kryptographische Verfahren</option>
<option value="5">Robotik</option> <option value="5">Robotik</option>
<option value="6">Web-Services</option> <option value="6">Web-Services</option>
<option value="7">Digitale Audiosignalverarbeitung</option> <option value="7">High Performance Computing</option>
<option value="8">Psychologische Grundlagen für Informatiker</option> <option value="8">Digitale Audiosignalverarbeitung</option>
<option value="9">Erklärbare Künstliche Intelligenz</option> <option value="9">Psychologische Grundlagen für Informatiker</option>
<option value="10">Innovation Management</option> <option value="10">Erklärbare Künstliche Intelligenz</option>
<option value="11">Innovation Management</option>
</select> </select>
</div> </div>
<!-- // WAHLMODUL --> <!-- // WAHLMODUL -->
@ -131,23 +132,30 @@
<!-- // GENERATE LINK BUTTON --> <!-- // GENERATE LINK BUTTON -->
</form> </form>
</div> </div>
<div class="raplalinkcontainer--nav__subtext">Made with <img height="10" src="https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/240/microsoft/309/red-heart_2764-fe0f.png"/> by <a href="https://www.p4ddy.com">Paddy</a> & <a href="https://www.li54.dev">Lisa</a></div> <div class="raplalinkcontainer--nav__subtext">
Made with <img height="10" src="https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/240/microsoft/309/red-heart_2764-fe0f.png" alt="heart"/> by
<a href="https://www.p4ddy.com">Paddy</a>,
<a href="https://www.li54.dev">Lisa</a> &
<a href="https://www.davidhuh.de">Dave</a>.<br>
The Source Code for this page is available <a href="https://git.plutodev.de/Paddy/RaPla-Middleware-LinkGen">here</a>,
the code for the middleware is available <a href="https://git.plutodev.de/PlutoDev/plutoapi-v2/src/branch/master/src/models/rapla-middleware">here</a>.
</div>
<!-- Modal --> <!-- Modal -->
<div class="modal fade" id="linkModal" tabindex="-1" aria-labelledby="linkModalSuccess" aria-hidden="true"> <div class="modal fade" id="linkModal" tabindex="-1" aria-labelledby="linkModalSuccess" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered"> <div class="modal-dialog modal-dialog-centered">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header modal-toggle">
<h5 class="modal-title" id="linkModalTitle"></h5> <h5 class="modal-title" id="linkModalTitle"></h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body modal-toggle">
<div class="raplalinkcontainer--link"> <div class="raplalinkcontainer--link">
<p id="raplalinkcontainer--link"></p> <p id="raplalinkcontainer--link"></p>
</div> </div>
<p id="full-link"></p> <p id="full-link"></p>
</div> </div>
<div class="modal-footer"> <div class="modal-footer modal-toggle">
<button type="button" class="btn btn-secondary" id="raplalinkcontainer--closeButton" data-bs-dismiss="modal"></button> <button type="button" class="btn btn-secondary" id="raplalinkcontainer--closeButton" data-bs-dismiss="modal"></button>
</div> </div>
</div> </div>

View File

@ -83,6 +83,29 @@ let courseLinks = {
'TINF20B5': {user: 'strand', file: 'TINF20B5'} 'TINF20B5': {user: 'strand', file: 'TINF20B5'}
} }
/**
* Calculates, in which semester the given course currently is
* @param course The course to calculate the semester for
* @returns {number} The number of the semester they are in
*/
function calculateSemester(course) {
let yearRegex = new RegExp('[a-zA-Z]*([0-9]{2})B[0-9]');
let match = yearRegex.exec(course);
let startYear = '20';
if (match !== null) {
startYear += match[1];
}
let currentYear = new Date().getFullYear();
let yearDifference = currentYear - startYear;
let semesters = yearDifference * 2 + 1;
return semesters;
}
/* Toggle Dark-Mode */ /* Toggle Dark-Mode */
const toggleDarkMode = () => { const toggleDarkMode = () => {
@ -95,6 +118,13 @@ const toggleDarkMode = () => {
navElement.classList.toggle("nav--dark-mode"); navElement.classList.toggle("nav--dark-mode");
submitButton.classList.toggle("submitButton--dark-mode"); submitButton.classList.toggle("submitButton--dark-mode");
/* Dialog */
let modalContents = document.getElementsByClassName('modal-toggle')
for (let content of modalContents) {
content.classList.toggle("modal--dark-mode")
}
if (colorModeToggleIcon.classList.contains("fa-moon")) { if (colorModeToggleIcon.classList.contains("fa-moon")) {
colorModeToggleIcon.classList.remove("fa-moon"); colorModeToggleIcon.classList.remove("fa-moon");
colorModeToggleIcon.classList.add("fa-sun"); colorModeToggleIcon.classList.add("fa-sun");

View File

@ -8,6 +8,10 @@ body {
color: white; color: white;
} }
.modal--dark-mode {
background-color: #222222;
color: white;
}
#raplalinkcontainer { #raplalinkcontainer {
height: 100vh; height: 100vh;