feat: Most settings implemented
Some checks failed
/ build (push) Failing after 1m26s
/ check-changes (push) Successful in 8s

This commit is contained in:
Djuri 2025-05-04 02:12:17 +02:00
parent f8c2f4f228
commit 98ad7d1432
Signed by: djuri
GPG key ID: 61B9B2DDE5AA3AC1
41 changed files with 1976 additions and 421 deletions

View file

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