-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfactsAndLogic.js
71 lines (51 loc) · 1.67 KB
/
factsAndLogic.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
"use strict";
let concatUrl = (urlArr, ukeArg) => {
return urlArr[0] + ukeArg + urlArr[1];
};
//https://stackoverflow.com/questions/6117814/get-week-of-year-in-javascript-like-in-php
function getWeekNumber(d) {
d = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate()));
d.setUTCDate(d.getUTCDate() + 4 - (d.getUTCDay()||7));
let yearStart = new Date(Date.UTC(d.getUTCFullYear(),0,1));
return Math.ceil(( ( (d - yearStart) / 86400000) + 1)/7);
}
const urlArr = ["https://www.uio.no/studier/emner/matnat/ifi/IN1150/v21/innleveringer/Innleveringsoppgave_", "_IN1150.pdf"];
const ukeNaa = getWeekNumber(new Date());
let offset = 2
//Påskeferie-edge-case
const paskeUke = 13
if(ukeNaa >= paskeUke) {
offset += 2;
}
let ukeMaal = ukeNaa-offset;
//helg
let d = new Date();
if(d.getDay() == 0 || d.getDay() == 6) {
ukeMaal++;
}else if(d.getDay() == 5) {
if(d.getHours() > 16) { //antar ny oblig er ute innen kl 17
ukeMaal++;
}
}
let target = concatUrl(urlArr, ukeMaal);
const canvas = document.getElementsByTagName("canvas")[0]
const ctx = canvas.getContext("2d");
canvas.width = 440;
canvas.height = 20;
let s = canvas.height;
let i = 0
const margin = 5;
let faktor = canvas.width / s;
let tegnProgress = () => {
ctx.fillStyle = 'rgb(' + (i*faktor) + ', '+ (i*faktor) + ',' + i*faktor + ')';
console.log((i*faktor) )
ctx.fillRect(i * faktor, 0, s, s);
if(faktor * i > canvas.width) {
document.body.style.backgroundColor = "black"
document.getElementsByTagName("h1")[0].style.color = "white"
clearInterval(t)
location.replace(target)
}
i++
}
let t = setInterval(tegnProgress, 20);