-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
59 lines (54 loc) · 1.61 KB
/
index.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
let isModalOpen = false;
let contrastToggle = false;
const scaleFactor = 1 / 20;
function moveBackground(event) {
const shapes = document.querySelectorAll(".shape");
const x = event.clientX * scaleFactor;
const y = event.clientY * scaleFactor;
for (let i = 0; i < shapes.length; ++i) {
const isOdd = i % 2 !== 0;
const boolInt = isOdd ? -1 : 1;
// Added rotate after tutorial
shapes[i].style.transform = `translate(${x * boolInt}px, ${y * boolInt}px) rotate(${x * boolInt * 10}deg)`
}
}
function toggleContrast() {
contrastToggle = !contrastToggle;
if (contrastToggle) {
document.body.classList += " dark-theme"
}
else {
document.body.classList.remove("dark-theme")
}
}
function contact(event) {
event.preventDefault();
const loading = document.querySelector(".modal__overlay--loading");
const success = document.querySelector(".modal__overlay--success");
loading.classList += " modal__overlay--visible";
emailjs
.sendForm(
"service_80ih0if",
"template_d9refyl",
event.target,
"user_K1PoFs8pB2YVWStDxrUls"
)
.then(() => {
loading.classList.remove("modal__overlay--visible");
success.classList += " modal__overlay--visible";
})
.catch(() => {
loading.classList.remove("modal__overlay--visible");
alert(
"The email service is temporarily unavailable. Please contact me directly on email@email.com"
);
});
}
function toggleModal() {
if (isModalOpen) {
isModalOpen = false;
return document.body.classList.remove("modal--open");
}
isModalOpen = true;
document.body.classList += " modal--open";
}