import React, { createContext, useContext } from 'react'; import FinancialReportPage from '../FinancialReportPage'; import { useGeneralLedgerSheet } from 'hooks/query'; import { transformFilterFormToQuery } from '../common'; const GeneralLedgerContext = createContext(); /** * General ledger provider. */ function GeneralLedgerProvider({ query, ...props }) { // Transformes the report query to request query. const requestQuery = React.useMemo( () => transformFilterFormToQuery(query), [query], ); const { data: generalLedger, isFetching, isLoading, refetch, } = useGeneralLedgerSheet(requestQuery, { keepPreviousData: true }); const provider = { generalLedger, sheetRefresh: refetch, isFetching, isLoading, }; return ( ); } const useGeneralLedgerContext = () => useContext(GeneralLedgerContext); export { GeneralLedgerProvider, useGeneralLedgerContext };