Files
rxminder/hooks/useSettings.ts
William Valentin e48adbcb00 Initial commit: Complete NodeJS-native setup
- Migrated from Python pre-commit to NodeJS-native solution
- Reorganized documentation structure
- Set up Husky + lint-staged for efficient pre-commit hooks
- Fixed Dockerfile healthcheck issue
- Added comprehensive documentation index
2025-09-06 01:42:48 -07:00

51 lines
1.1 KiB
TypeScript

import { useState, useEffect } from 'react';
const useSettings = () => {
const [settings, setSettings] = useState(null);
const [loading, setLoading] = useState(true);
const [error, setError] = useState(null);
useEffect(() => {
const fetchSettings = async () => {
try {
const response = await fetch('/api/settings');
const data = await response.json();
setSettings(data);
} catch (err) {
setError(err);
} finally {
setLoading(false);
}
};
fetchSettings();
}, []);
const updateSettings = async newSettings => {
try {
const response = await fetch('/api/settings', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(newSettings),
});
const data = await response.json();
setSettings(data);
return data;
} catch (err) {
setError(err);
throw err;
}
};
return {
settings,
loading,
error,
updateSettings,
};
};
export default useSettings;