admin_dashboard_react/src/core/configEdit.js
SnippetsX 4cd1ad4530
All checks were successful
Testing Example / build-and-test (push) Successful in 2m21s
Fixed setting wrong switching in menu list
Added bump for database settings
2024-11-24 01:13:20 +03:00

74 lines
1.8 KiB
JavaScript

import config from '../config.json';
export function updateConfig(newConfig) {
return fetch(config.backendUrl + '/config', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Username': localStorage.getItem('token') // Add username header for auth
},
body: JSON.stringify(newConfig)
})
.then(response => {
if (!response.ok) {
throw new Error('Failed to update config');
}
return response;
});
}
export function getConfig() {
return fetch(config.backendUrl + '/config', {
headers: {
'X-Username': localStorage.getItem('token') // Add username header for auth
}
})
.then(response => {
if (!response.ok) {
throw new Error('Failed to get config');
}
return response.json();
});
}
export function toggleDeveloperMode() {
let currentMode = localStorage.getItem('developerMode') === 'true';
let newMode = !currentMode;
return updateConfig({ developerMode: newMode })
.then(() => {
localStorage.setItem('developerMode', newMode);
console.log(config.developerMode);
window.location.reload();
})
.catch(error => {
console.error('Error updating developer mode:', error);
throw error;
});
}
export function getDeveloperMode() {
// First try to get from localStorage
const localMode = localStorage.getItem('developerMode');
if (localMode !== null) {
return localMode === 'true';
}
// If not in localStorage, get from server and store it
return getConfig()
.then(config => {
localStorage.setItem('developerMode', config.developerMode);
return config.developerMode;
})
.catch(error => {
console.error('Error getting developer mode:', error);
throw error;
});
}
export function getDatabaseConfig() {
return getConfig().then(config => config.database);
}