-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathscriptsettings.js
More file actions
64 lines (55 loc) · 2.31 KB
/
Copy pathscriptsettings.js
File metadata and controls
64 lines (55 loc) · 2.31 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
document.addEventListener('DOMContentLoaded', () => {
const form = document.getElementById('settings-form');
const confirmation = document.getElementById('confirmation');
const resetButton = document.getElementById('reset-button');
const defaultSettings = {
theme: 'light',
currency: 'usd',
notifications: false,
emailReports: false,
password: '',
profileVisibility: 'public',
refreshRate: '15min'
};
form.addEventListener('submit', (event) => {
event.preventDefault();
// Get form data
const formData = new FormData(form);
const settings = {
theme: formData.get('theme'),
currency: formData.get('currency'),
notifications: formData.get('notifications') === 'on',
emailReports: formData.get('email-reports') === 'on',
password: formData.get('password'),
profileVisibility: formData.get('profile-visibility'),
refreshRate: formData.get('refresh-rate')
};
// Here you would typically send the data to a server or save it in local storage
console.log(settings);
// Show confirmation message
confirmation.classList.remove('hidden');
setTimeout(() => {
confirmation.classList.add('hidden');
}, 3000);
});
resetButton.addEventListener('click', () => {
form.reset();
setFormValues(defaultSettings);
});
function setFormValues(settings) {
form.querySelector('#theme').value = settings.theme;
form.querySelector('#currency').value = settings.currency;
form.querySelector('#notifications').checked = settings.notifications;
form.querySelector('#email-reports').checked = settings.emailReports;
form.querySelector('#password').value = settings.password;
form.querySelector('#profile-visibility').value = settings.profileVisibility;
form.querySelector('#refresh-rate').value = settings.refreshRate;
}
// Initialize form with default values
setFormValues(defaultSettings);
});
const goBackButton = document.getElementById('goBackButton');
goBackButton.addEventListener('click', () => {
// Go back in history
window.history.back();
});