@selfcommunity/react-core
Version:
React Core Components useful for integrating UI Community components (react-ui).
34 lines (33 loc) • 979 B
JavaScript
import { CustomMenuService } from '@selfcommunity/api-services';
import { Logger } from '@selfcommunity/utils';
import { useCallback, useEffect, useState } from 'react';
import { SCOPE_SC_CORE } from '../constants/Errors';
export default function useFetchMenuFooter(id, menu = null) {
// STATES
const [_menu, setMenu] = useState(menu);
const [loading, setLoading] = useState(!menu);
/**
* Fetches custom pages
*/
const fetchMenu = useCallback(() => {
setLoading(true);
CustomMenuService.getASpecificCustomMenu(id)
.then((menu) => {
setMenu(menu);
})
.catch((error) => {
Logger.error(SCOPE_SC_CORE, error);
})
.then(() => setLoading(false));
}, []);
/**
* On mount, fetches legal and custom pages
*/
useEffect(() => {
if (menu) {
return;
}
fetchMenu();
}, [id]);
return { _menu, loading };
}