@@ -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