Files
bigcapital/packages/webapp/src/containers/FinancialStatements/BalanceSheet/BalanceSheetHeaderDimensionsProvider.tsx
2023-02-03 01:02:31 +02:00

49 lines
1.2 KiB
TypeScript

// @ts-nocheck
import React from 'react';
import { Features } from '@/constants';
import { useBranches } from '@/hooks/query';
import { useFeatureCan } from '@/hooks/state';
import { FinancialHeaderLoadingSkeleton } from '../FinancialHeaderLoadingSkeleton';
const BalanceSheetHeaderDimensionsPanelContext = React.createContext();
/**
* BL sheet header provider.
* @returns
*/
function BalanceSheetHeaderDimensionsProvider({ 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 ? (
<FinancialHeaderLoadingSkeleton />
) : (
<BalanceSheetHeaderDimensionsPanelContext.Provider
value={provider}
{...props}
/>
);
}
const useBalanceSheetHeaderDimensionsPanelContext = () =>
React.useContext(BalanceSheetHeaderDimensionsPanelContext);
export {
BalanceSheetHeaderDimensionsProvider,
useBalanceSheetHeaderDimensionsPanelContext,
};