blob: 0ba662511a986b0ea660c13b2168704ea482dad4 (
plain)
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
|
document.addEventListener('DOMContentLoaded', function () {
const savedTheme = localStorage.getItem('theme') || 'light';
document.documentElement.setAttribute('data-theme', savedTheme);
const preferencesForm = document.getElementById('preferences-form');
if (preferencesForm) {
const themeRadios = document.querySelectorAll('input[name="theme"]');
themeRadios.forEach(radio => {
if (radio.value === savedTheme) {
radio.checked = true;
}
});
preferencesForm.addEventListener('submit', function (e) {
e.preventDefault();
const selectedTheme = document.querySelector('input[name="theme"]:checked').value;
localStorage.setItem('theme', selectedTheme);
document.documentElement.setAttribute('data-theme', selectedTheme);
let successMsg = document.querySelector('.success-message');
if (successMsg) {
successMsg.remove();
}
const message = document.createElement('div');
message.className = 'success-message';
message.textContent = 'Preferences saved successfully!';
preferencesForm.parentNode.insertBefore(message, preferencesForm);
setTimeout(() => {
if (message.parentNode) {
message.remove();
}
}, 3000);
});
}
});
|