refactor: currency Form.

This commit is contained in:
elforjani3
2021-02-09 18:17:53 +02:00
parent 1a99584c9a
commit bfd4a86bf0
10 changed files with 294 additions and 202 deletions

View File

@@ -0,0 +1,38 @@
import React, { createContext } from 'react';
import { useCurrencies, useEditCurrency, useCreateCurrency } from 'hooks/query';
import { DialogContent } from 'components';
const CurrencyFormContext = createContext();
/**
* Currency Form page provider.
*/
function CurrencyFormProvider({ isEditMode, currency, dialogName, ...props }) {
// Create and edit item currency mutations.
const { mutateAsync: createCurrencyMutate } = useCreateCurrency();
const { mutateAsync: editCurrencyMutate } = useEditCurrency();
// fetch Currencies list.
const { data: currencies, isFetching: isCurrenciesLoading } = useCurrencies();
// Provider state.
const provider = {
createCurrencyMutate,
editCurrencyMutate,
dialogName,
currency,
isCurrenciesLoading,
isEditMode,
};
return (
<DialogContent isLoading={isCurrenciesLoading} name={'currency-form'}>
<CurrencyFormContext.Provider value={provider} {...props} />
</DialogContent>
);
}
const useCurrencyFormContext = () => React.useContext(CurrencyFormContext);
export { CurrencyFormProvider, useCurrencyFormContext };