refactoring(accountant): accountant.

This commit is contained in:
elforjani3
2021-03-17 19:52:28 +02:00
parent 4e8bdee97a
commit d80e3083f7
8 changed files with 214 additions and 136 deletions

View File

@@ -0,0 +1,35 @@
import React from 'react';
import { LoadingIndicator } from 'components';
import { useAccounts, useSaveSettings, useSettings } from 'hooks/query';
const AccountantFormContext = React.createContext();
/**
* Accountant data provider.
*/
function AccountantFormProvider({ ...props }) {
// Fetches the accounts list.
const { isFetching: isAccountsLoading, data: accounts } = useAccounts();
//Fetches Organization Settings.
const { isFetching: isSettingsLoading } = useSettings();
// Save Organization Settings.
const { mutateAsync: saveSettingMutate } = useSaveSettings();
// Provider state.
const provider = {
accounts,
isAccountsLoading,
saveSettingMutate,
};
return (
<LoadingIndicator loading={isSettingsLoading || isAccountsLoading}>
<AccountantFormContext.Provider value={provider} {...props} />
</LoadingIndicator>
);
}
const useAccountantFormContext = () => React.useContext(AccountantFormContext);
export { AccountantFormProvider, useAccountantFormContext };