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 (
);
}
+
+const DetailsBarSkeletonBase = styled.div`
+ letter-spacing: 10px;
+ margin-right: 10px;
+ margin-left: 10px;
+ font-size: 8px;
+ width: 140px;
+ height: 10px;
+`;