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