Skip to content
This repository was archived by the owner on Jun 6, 2025. It is now read-only.

Commit 2182088

Browse files
authored
Update main.js
1 parent 4685653 commit 2182088

File tree

1 file changed

+39
-6
lines changed

1 file changed

+39
-6
lines changed

js/main.js

Lines changed: 39 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ document.addEventListener('DOMContentLoaded', () => {
99
// Function to set theme preference in localStorage
1010
const setThemePreference = (isLight) => {
1111
localStorage.setItem('theme', isLight ? 'light' : 'dark');
12+
document.body.classList.toggle('dark-mode', !isLight); // Add dark mode class
1213
};
1314

1415
// Function to get background image preference from localStorage
@@ -21,13 +22,26 @@ document.addEventListener('DOMContentLoaded', () => {
2122
localStorage.setItem('bgImage', useImage ? 'true' : 'false');
2223
};
2324

25+
// Function to get background blur preference from localStorage
26+
const getBlurPreference = () => {
27+
return localStorage.getItem('blur') === 'true' ? true : false;
28+
};
29+
30+
// Function to set background blur preference in localStorage
31+
const setBlurPreference = (useBlur) => {
32+
localStorage.setItem('blur', useBlur ? 'true' : 'false');
33+
};
34+
2435
// Apply theme and background settings
2536
const applySettings = () => {
2637
const themeToggle = document.getElementById('themeToggle');
2738
const bgImageToggle = document.getElementById('bgImageToggle');
28-
39+
const blurToggle = document.getElementById('blurToggle');
40+
const settingsModal = document.getElementById('settingsModal');
41+
2942
document.body.classList.toggle('light-mode', themeToggle.checked);
30-
document.body.classList.toggle('no-bg', !bgImageToggle.checked); // Disable background if unchecked
43+
document.body.classList.toggle('no-bg', !bgImageToggle.checked);
44+
settingsModal.classList.toggle('blur', blurToggle.checked);
3145
};
3246

3347
// Settings Modal Functionality
@@ -36,10 +50,12 @@ document.addEventListener('DOMContentLoaded', () => {
3650
const closeSettingsButton = document.getElementById('closeSettings');
3751
const themeToggle = document.getElementById('themeToggle');
3852
const bgImageToggle = document.getElementById('bgImageToggle');
53+
const blurToggle = document.getElementById('blurToggle');
3954

40-
// Load the user's theme and background preferences
55+
// Load the user's preferences
4156
themeToggle.checked = getThemePreference();
4257
bgImageToggle.checked = getBackgroundPreference();
58+
blurToggle.checked = getBlurPreference();
4359
applySettings();
4460

4561
settingsIcon.addEventListener('click', () => {
@@ -60,9 +76,26 @@ document.addEventListener('DOMContentLoaded', () => {
6076
applySettings();
6177
});
6278

63-
// Existing code for card interaction and other features remains unchanged
64-
// ... (keep your existing event listeners for details and cards here)
65-
79+
blurToggle.addEventListener('change', function() {
80+
setBlurPreference(this.checked);
81+
applySettings();
82+
});
83+
84+
// Card Hover Effect (JavaScript)
85+
document.querySelectorAll('.card').forEach((card) => {
86+
card.addEventListener('mouseenter', () => {
87+
card.style.transition = 'transform 0.4s ease, box-shadow 0.4s ease';
88+
card.style.transform = 'scale(1.05)';
89+
card.style.boxShadow = '0 8px 16px rgba(0, 0, 0, 0.2)';
90+
});
91+
92+
card.addEventListener('mouseleave', () => {
93+
card.style.transition = 'transform 0.4s ease, box-shadow 0.4s ease';
94+
card.style.transform = 'scale(1)';
95+
card.style.boxShadow = '0 4px 8px rgba(0, 0, 0, 0.1)';
96+
});
97+
});
98+
6699
// Disable right-click
67100
document.addEventListener('contextmenu', function (e) {
68101
e.preventDefault();

0 commit comments

Comments
 (0)