2022-08-02 06:04:47 +00:00
|
|
|
import { useEffect } from 'react';
|
|
|
|
|
import useStore, { setConfig } from 'store/app';
|
2023-08-21 09:06:09 +00:00
|
|
|
import useApi from 'components/hooks/useApi';
|
2022-08-02 06:04:47 +00:00
|
|
|
|
2022-10-31 18:02:37 +00:00
|
|
|
let loading = false;
|
2022-08-02 06:04:47 +00:00
|
|
|
|
2023-05-18 06:20:06 +00:00
|
|
|
export function useConfig() {
|
2022-08-02 06:04:47 +00:00
|
|
|
const { config } = useStore();
|
|
|
|
|
const { get } = useApi();
|
|
|
|
|
|
|
|
|
|
async function loadConfig() {
|
2023-01-11 16:33:43 +00:00
|
|
|
const data = await get('/config');
|
2022-10-31 18:02:37 +00:00
|
|
|
loading = false;
|
2022-08-02 06:04:47 +00:00
|
|
|
setConfig(data);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
useEffect(() => {
|
2022-10-31 18:02:37 +00:00
|
|
|
if (!config && !loading) {
|
|
|
|
|
loading = true;
|
2022-08-02 06:04:47 +00:00
|
|
|
loadConfig();
|
|
|
|
|
}
|
|
|
|
|
}, []);
|
|
|
|
|
|
2023-07-27 21:47:41 +00:00
|
|
|
return config;
|
2022-08-02 06:04:47 +00:00
|
|
|
}
|
2023-05-18 06:20:06 +00:00
|
|
|
|
|
|
|
|
export default useConfig;
|