Files
bigcapital/src/containers/Drawers/InvoiceDetailDrawer/InvoiceDetailDrawerProvider.js
a.bouhuolia 4dda2a37aa feat: optimize style of invoice details.
feat: optimize style of credit note details.
feat: optimize global style checkbox  of the application.
2021-12-20 13:19:59 +02:00

38 lines
1.0 KiB
JavaScript

import React from 'react';
import intl from 'react-intl-universal';
import { DrawerHeaderContent, DrawerLoading } from 'components';
import { useInvoice } from 'hooks/query';
const InvoiceDetailDrawerContext = React.createContext();
/**
* Invoice detail provider.
*/
function InvoiceDetailDrawerProvider({ invoiceId, ...props }) {
// Fetch sale invoice details.
const { data: invoice, isLoading: isInvoiceLoading } = useInvoice(invoiceId, {
enabled: !!invoiceId,
});
// Provider.
const provider = {
invoiceId,
invoice,
};
return (
<DrawerLoading loading={isInvoiceLoading}>
<DrawerHeaderContent
name="invoice-detail-drawer"
title={intl.get('invoice_details.drawer.title', {
invoiceNumber: invoice.invoice_no,
})}
/>
<InvoiceDetailDrawerContext.Provider value={provider} {...props} />
</DrawerLoading>
);
}
const useInvoiceDetailDrawerContext = () =>
React.useContext(InvoiceDetailDrawerContext);
export { InvoiceDetailDrawerProvider, useInvoiceDetailDrawerContext };