import React from 'react'; import intl from 'react-intl-universal'; import { Alignment, NavbarGroup, NavbarDivider, Button, Classes, } from '@blueprintjs/core'; import { useSetPrimaryBranchToForm, useSetPrimaryWarehouseToForm, } from './utils'; import { useFeatureCan } from 'hooks/state'; import { Icon, BranchSelect, FeatureCan, WarehouseSelect, FormTopbar, DetailsBarSkeletonBase, } from 'components'; import { useBillFormContext } from './BillFormProvider'; import { Features } from 'common'; /** * Bill form topbar . * @returns {JSX.Element} */ export default function BillFormTopBar() { // Features guard. const { featureCan } = useFeatureCan(); // Sets the primary warehouse to form. useSetPrimaryWarehouseToForm(); // Sets the primary branch to form. useSetPrimaryBranchToForm(); // Can't display the navigation bar if warehouses or branches feature is not enabled. if (!featureCan(Features.Warehouses) || !featureCan(Features.Branches)) { return null; } return ( {featureCan(Features.Warehouses) && featureCan(Features.Branches) && ( )} ); } function BillFormSelectBranch() { // Bill form context. const { branches, isBranchesLoading } = useBillFormContext(); return isBranchesLoading ? ( ) : ( ); } function BillFormSelectWarehouse() { // Bill form context. const { warehouses, isWarehouesLoading } = useBillFormContext(); return isWarehouesLoading ? ( ) : ( ); } function BillWarehouseSelectButton({ label }) { return (