feat: Most settings implemented
This commit is contained in:
parent
f8c2f4f228
commit
98ad7d1432
41 changed files with 1976 additions and 421 deletions
|
@ -118,6 +118,8 @@ function createSettingsStore() {
|
|||
throw new Error(`Error fetching settings: ${response.statusText}`);
|
||||
}
|
||||
const data = await response.json();
|
||||
data.timePerScreen = data.timerSeconds / 60;
|
||||
data.isLoaded = true;
|
||||
set(data);
|
||||
return data;
|
||||
} catch (error) {
|
||||
|
@ -127,16 +129,23 @@ function createSettingsStore() {
|
|||
},
|
||||
update: async (newSettings: Partial<Settings>) => {
|
||||
try {
|
||||
const response = await fetch(`${baseUrl}/api/settings`, {
|
||||
method: 'POST',
|
||||
const formSettings = { ...newSettings };
|
||||
delete formSettings['gitRev'];
|
||||
delete formSettings['ip'];
|
||||
delete formSettings['lastBuildTime'];
|
||||
|
||||
const response = await fetch(`${baseUrl}/api/json/settings`, {
|
||||
method: 'PATCH',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
body: JSON.stringify(newSettings)
|
||||
body: JSON.stringify(formSettings)
|
||||
});
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error(`Error updating settings: ${response.statusText}`);
|
||||
} else {
|
||||
console.log(formSettings, response);
|
||||
}
|
||||
|
||||
// Update the local store with the new settings
|
||||
|
@ -149,7 +158,20 @@ function createSettingsStore() {
|
|||
}
|
||||
},
|
||||
set: (newSettings: Settings) => set(newSettings),
|
||||
reset: () => set(defaultSettings)
|
||||
reset: async () => {
|
||||
try {
|
||||
const response = await fetch(`${baseUrl}/api/settings`);
|
||||
if (!response.ok) {
|
||||
throw new Error(`Error fetching settings: ${response.statusText}`);
|
||||
}
|
||||
const data = await response.json();
|
||||
set(data);
|
||||
return data;
|
||||
} catch (error) {
|
||||
console.error('Failed to fetch settings:', error);
|
||||
return defaultSettings;
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue