diff --git a/src/containers/Sales/Invoices/InvoiceForm/InvoiceFormTopBar.js b/src/containers/Sales/Invoices/InvoiceForm/InvoiceFormTopBar.js index 41fdd630d..dea29da8f 100644 --- a/src/containers/Sales/Invoices/InvoiceForm/InvoiceFormTopBar.js +++ b/src/containers/Sales/Invoices/InvoiceForm/InvoiceFormTopBar.js @@ -5,8 +5,10 @@ import { NavbarGroup, NavbarDivider, Button, + Classes, } from '@blueprintjs/core'; import intl from 'react-intl-universal'; +import styled from 'styled-components'; import { useFeatureCan } from 'hooks/state'; import { Icon, BranchSelect, FeatureCan, WarehouseSelect } from 'components'; @@ -18,9 +20,6 @@ import { Features } from 'common'; * @returns {JSX.Element} */ export default function InvoiceFormTopBar() { - // Invoice form context. - const { branches, warehouses } = useInvoiceFormContext(); - // Features guard. const { featureCan } = useFeatureCan(); @@ -31,31 +30,52 @@ export default function InvoiceFormTopBar() { return ( - - + + - {featureCan(Features.Warehouses) && featureCan(Features.Branches) && ( )} - + ); } +function InvoiceFormSelectBranch() { + // Invoice form context. + const { branches, isBranchesLoading } = useInvoiceFormContext(); + + return isBranchesLoading ? ( + + ) : ( + + ); +} + +function InvoiceFormSelectWarehouse() { + // Invoice form context. + const { warehouses, isWarehouesLoading } = useInvoiceFormContext(); + + return isWarehouesLoading ? ( + + ) : ( + + ); +} + function InvoiceWarehouseSelectButton({ label }) { return (