import React from 'react'; import { DialogContent } from 'components'; import { useAccounts, useCreateCashflowTransaction, useCashflowAccounts, useSettingCashFlow, } from 'hooks/query'; const MoneyInDialogContent = React.createContext(); /** * Money out dialog provider. */ function MoneyOutProvider({ accountId, accountType, dialogName, ...props }) { // Fetches accounts list. const { isLoading: isAccountsLoading, data: accounts } = useAccounts(); // Fetch cash flow list . const { data: cashflowAccounts, isLoading: isCashFlowAccountsLoading } = useCashflowAccounts({}, { keepPreviousData: true }); const { mutateAsync: createCashflowTransactionMutate } = useCreateCashflowTransaction(); // Handle fetching settings. const { isLoading: isSettingsLoading } = useSettingCashFlow(); // Submit payload. const [submitPayload, setSubmitPayload] = React.useState({}); // provider. const provider = { accounts, accountId, accountType, isAccountsLoading, cashflowAccounts, submitPayload, dialogName, createCashflowTransactionMutate, setSubmitPayload, }; return ( ); } const useMoneyOutDialogContext = () => React.useContext(MoneyInDialogContent); export { MoneyOutProvider, useMoneyOutDialogContext };