import React from 'react'; import { Features } from 'common'; import { useBranches } from 'hooks/query'; import { useFeatureCan } from 'hooks/state'; import { FinancialHeaderLoadingSkeleton } from '../FinancialHeaderLoadingSkeleton'; const GeneralLedgerHeaderDimensionsPanelContext = React.createContext(); /** * General Ledger Header Dimensions Panel provider. * @returns */ function GeneralLedgerHeaderDimensionsPanelProvider({ query, ...props }) { // Features guard. const { featureCan } = useFeatureCan(); const isBranchFeatureCan = featureCan(Features.Branches); // Fetches the branches list. const { isLoading: isBranchesLoading, data: branches } = useBranches(query, { enabled: isBranchFeatureCan, keepPreviousData: true, }); // Provider const provider = { branches, isBranchesLoading, }; return isBranchesLoading ? ( ) : ( ); } const useGeneralLedgerHeaderDimensionsContext = () => React.useContext(GeneralLedgerHeaderDimensionsPanelContext); export { GeneralLedgerHeaderDimensionsPanelProvider, useGeneralLedgerHeaderDimensionsContext, };