Files
bigcapital/src/containers/Drawers/VendorDetailsDrawer/VendorDetailsDrawerProvider.js
2021-09-21 17:13:53 +02:00

37 lines
954 B
JavaScript

import React from 'react';
import { DrawerHeaderContent, DrawerLoading } from 'components';
import { useVendor } from 'hooks/query';
const VendorDetailDrawerContext = React.createContext();
/**
* Contact detail provider.
*/
function VendorDetailsDrawerProvider({ vendorId, ...props }) {
// Handle fetch vendor details.
const { data: vendor, isLoading: isVendorLoading } = useVendor(vendorId, {
enabled: !!vendorId,
});
// Provider.
const provider = {
vendor,
vendorId,
isVendorLoading,
};
return (
<DrawerLoading loading={isVendorLoading}>
<DrawerHeaderContent
name="vendor-details-drawer"
title={vendor?.display_name}
/>
<VendorDetailDrawerContext.Provider value={provider} {...props} />
</DrawerLoading>
);
}
const useVendorDetailsDrawerContext = () =>
React.useContext(VendorDetailDrawerContext);
export { VendorDetailsDrawerProvider, useVendorDetailsDrawerContext };