-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathscript.js
More file actions
66 lines (55 loc) · 2.18 KB
/
script.js
File metadata and controls
66 lines (55 loc) · 2.18 KB
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
// Click events for buttons
const portfolio = document.getElementById("portfolio");
const portfolioBtn = document.getElementById("portfolio-btn");
const skills = document.getElementById("skills");
const skillsBtn = document.getElementById("skills-btn");
portfolioBtn.addEventListener("click", (event) => {
skills.style.display = "none";
portfolio.style.display = "flex";
skillsBtn.classList.remove("active-btn");
portfolioBtn.classList.add("active-btn");
});
skillsBtn.addEventListener("click", (event) => {
skills.style.display = "flex";
portfolio.style.display = "none";
portfolioBtn.classList.remove("active-btn");
skillsBtn.classList.add("active-btn");
});
// Light & Dark Theme
document.addEventListener("DOMContentLoaded", () => {
const toggleThemeButton = document.getElementById("toggleTheme");
const themeIcon = document.querySelector('img[alt="theme icon"]');
const githubLogo = document.querySelector('img[alt="github logo"]');
const linkedinLogo = document.querySelector('img[alt="linkedin logo"]');
const emailLogo = document.querySelector('img[alt="email logo"]');
const lightLogos = {
github: "assets/github_light.png",
linkedin: "assets/linkedin_light.png",
email: "assets/email_light.png",
theme: "assets/theme_light.png",
};
const darkLogos = {
github: "assets/github_dark.png",
linkedin: "assets/linkedin_dark.png",
email: "assets/email_dark.png",
theme: "assets/theme_dark.png",
};
function setTheme(isDark) {
githubLogo.src = isDark ? darkLogos.github : lightLogos.github;
linkedinLogo.src = isDark ? darkLogos.linkedin : lightLogos.linkedin;
emailLogo.src = isDark ? darkLogos.email : lightLogos.email;
themeIcon.src = isDark ? darkLogos.theme : lightLogos.theme;
}
toggleThemeButton.addEventListener("click", () => {
const isDark = document.body.classList.toggle("dark-theme");
localStorage.setItem("isDark", isDark);
setTheme(isDark);
});
const loadTheme = () => {
const isDark = localStorage.getItem("isDark") === "true";
document.body.classList.toggle("dark-theme", isDark);
setTheme(isDark);
};
// Load saved theme from local storage or default to light theme
loadTheme();
});