mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-18 05:40:31 +00:00
42 lines
1.0 KiB
JavaScript
42 lines
1.0 KiB
JavaScript
import React, { createContext } from 'react';
|
|
import { transformTableQueryToParams } from 'utils';
|
|
|
|
import DashboardInsider from 'components/Dashboard/DashboardInsider';
|
|
import { useExchangeRates } from 'hooks/query';
|
|
|
|
const ExchangesRatesContext = createContext();
|
|
|
|
/**
|
|
* Exchanges rates list provider.
|
|
*/
|
|
function ExchangeRatesProvider({ query, ...props }) {
|
|
const {
|
|
data: { exchangesRates, pagination, filterMeta },
|
|
isFetching: isExchangeRatesFetching,
|
|
isLoading: isExchangeRatesLoading,
|
|
} = useExchangeRates(
|
|
{
|
|
...transformTableQueryToParams(query),
|
|
},
|
|
{ keepPreviousData: true },
|
|
);
|
|
|
|
const state = {
|
|
isExchangeRatesFetching,
|
|
isExchangeRatesLoading,
|
|
|
|
exchangesRates,
|
|
pagination,
|
|
};
|
|
|
|
return (
|
|
<DashboardInsider name={'exchange-rate'}>
|
|
<ExchangesRatesContext.Provider value={state} {...props} />
|
|
</DashboardInsider>
|
|
);
|
|
}
|
|
|
|
const useExchangeRatesContext = () => React.useContext(ExchangesRatesContext);
|
|
|
|
export { ExchangeRatesProvider, useExchangeRatesContext };
|