diff --git a/packages/webapp/src/containers/Sales/CreditNotes/CreditNoteForm/CreditNoteFormHeaderFields.tsx b/packages/webapp/src/containers/Sales/CreditNotes/CreditNoteForm/CreditNoteFormHeaderFields.tsx
index ad5bca1df..174af3231 100644
--- a/packages/webapp/src/containers/Sales/CreditNotes/CreditNoteForm/CreditNoteFormHeaderFields.tsx
+++ b/packages/webapp/src/containers/Sales/CreditNotes/CreditNoteForm/CreditNoteFormHeaderFields.tsx
@@ -17,18 +17,13 @@ import {
FFormGroup,
CustomersSelect,
Stack,
+ FDateInput,
} from '@/components';
import { customerNameFieldShouldUpdate } from './utils';
import { useCreditNoteFormContext } from './CreditNoteFormProvider';
import { CreditNoteExchangeRateInputField } from './components';
import { CreditNoteTransactionNoField } from './CreditNoteTransactionNoField';
-import {
- momentFormatter,
- tansformDateValue,
- inputIntent,
- handleDateChange,
-} from '@/utils';
import { useCustomerUpdateExRate } from '@/containers/Entries/withExRateItemEntriesPriceRecalc';
const getCreditNoteFieldsStyle = (theme: Theme) => css`
@@ -63,30 +58,26 @@ export default function CreditNoteFormHeaderFields() {
{/* ----------- Credit note date ----------- */}
-
- {({ form, field: { value }, meta: { error, touched } }) => (
- }
- inline={true}
- labelInfo={}
- className={classNames('form-group--credit_note_date', CLASSES.FILL)}
- intent={inputIntent({ error, touched })}
- helperText={}
- >
- {
- form.setFieldValue('credit_note_date', formattedDate);
- })}
- popoverProps={{ position: Position.BOTTOM_LEFT, minimal: true }}
- inputProps={{
- leftIcon: ,
- }}
- />
-
- )}
-
+ }
+ labelInfo={}
+ inline
+ fastField
+ >
+ date.toLocaleDateString()}
+ parseDate={(str) => new Date(str)}
+ popoverProps={{ position: Position.BOTTOM_LEFT, minimal: true }}
+ inputProps={{
+ leftIcon: ,
+ fill: true
+ }}
+ fill
+ fastField
+ />
+
{/* ----------- Credit note # ----------- */}
diff --git a/packages/webapp/src/containers/Sales/Estimates/EstimateForm/EstimateFormHeaderFields.tsx b/packages/webapp/src/containers/Sales/Estimates/EstimateForm/EstimateFormHeaderFields.tsx
index fb04e904f..26fc58c08 100644
--- a/packages/webapp/src/containers/Sales/Estimates/EstimateForm/EstimateFormHeaderFields.tsx
+++ b/packages/webapp/src/containers/Sales/Estimates/EstimateForm/EstimateFormHeaderFields.tsx
@@ -1,9 +1,8 @@
// @ts-nocheck
import styled from 'styled-components';
import classNames from 'classnames';
-import { FormGroup, Position, Classes } from '@blueprintjs/core';
-import { DateInput } from '@blueprintjs/datetime';
-import { FastField, ErrorMessage, useFormikContext } from 'formik';
+import { Position, Classes } from '@blueprintjs/core';
+import { useFormikContext } from 'formik';
import { css } from '@emotion/css';
import {
FeatureCan,
@@ -15,15 +14,9 @@ import {
CustomersSelect,
FInputGroup,
Stack,
+ FDateInput,
} from '@/components';
-import {
- momentFormatter,
- tansformDateValue,
- inputIntent,
- handleDateChange,
-} from '@/utils';
import { customersFieldShouldUpdate } from './utils';
-import { CLASSES } from '@/constants/classes';
import { Features } from '@/constants';
import { ProjectsSelect } from '@/containers/Projects/components';
import {
@@ -70,60 +63,47 @@ export default function EstimateFormHeader() {
{/* ----------- Estimate Date ----------- */}
-
- {({ form, field: { value }, meta: { error, touched } }) => (
- }
- inline={true}
- labelInfo={}
- className={classNames(CLASSES.FILL, 'form-group--estimate-date')}
- intent={inputIntent({ error, touched })}
- helperText={}
- >
- {
- form.setFieldValue('estimate_date', formattedDate);
- })}
- popoverProps={{ position: Position.BOTTOM, minimal: true }}
- inputProps={{
- leftIcon: ,
- }}
- />
-
- )}
-
+ }
+ labelInfo={}
+ inline
+ fastField
+ >
+ date.toLocaleDateString()}
+ parseDate={(str) => new Date(str)}
+ popoverProps={{ position: Position.BOTTOM_LEFT, minimal: true }}
+ inputProps={{
+ leftIcon: ,
+ fill: true,
+ }}
+ fill
+ fastField
+ />
+
{/* ----------- Expiration date ----------- */}
-
- {({ form, field: { value }, meta: { error, touched } }) => (
- }
- labelInfo={}
- inline={true}
- className={classNames(
- CLASSES.FORM_GROUP_LIST_SELECT,
- CLASSES.FILL,
- 'form-group--expiration-date',
- )}
- intent={inputIntent({ error, touched })}
- helperText={}
- >
- {
- form.setFieldValue('expiration_date', formattedDate);
- })}
- popoverProps={{ position: Position.BOTTOM, minimal: true }}
- inputProps={{
- leftIcon: ,
- }}
- />
-
- )}
-
+ }
+ inline
+ fastField
+ >
+ date.toLocaleDateString()}
+ parseDate={(str) => new Date(str)}
+ popoverProps={{ position: Position.BOTTOM_LEFT, minimal: true }}
+ inputProps={{
+ leftIcon: ,
+ fill: true,
+ }}
+ fill
+ fastField
+ />
+
{/* ----------- Estimate number ----------- */}
diff --git a/packages/webapp/src/containers/Sales/Invoices/InvoiceForm/InvoiceFormHeaderFields.tsx b/packages/webapp/src/containers/Sales/Invoices/InvoiceForm/InvoiceFormHeaderFields.tsx
index 8facf34e8..32bb66afd 100644
--- a/packages/webapp/src/containers/Sales/Invoices/InvoiceForm/InvoiceFormHeaderFields.tsx
+++ b/packages/webapp/src/containers/Sales/Invoices/InvoiceForm/InvoiceFormHeaderFields.tsx
@@ -2,9 +2,8 @@
import React from 'react';
import styled from 'styled-components';
import classNames from 'classnames';
-import { FormGroup, Position, Classes } from '@blueprintjs/core';
-import { DateInput } from '@blueprintjs/datetime';
-import { FastField, ErrorMessage, useFormikContext } from 'formik';
+import { Position, Classes } from '@blueprintjs/core';
+import { useFormikContext } from 'formik';
import { css } from '@emotion/css';
import { Theme, useTheme } from '@emotion/react';
@@ -16,20 +15,14 @@ import {
FeatureCan,
CustomersSelect,
Stack,
- Group,
FInputGroup,
Icon,
+ FDateInput,
} from '@/components';
-import {
- momentFormatter,
- tansformDateValue,
- inputIntent,
- handleDateChange,
-} from '@/utils';
-import { CLASSES } from '@/constants/classes';
import { customerNameFieldShouldUpdate } from './utils';
import { useInvoiceFormContext } from './InvoiceFormProvider';
+import { useCustomerUpdateExRate } from '@/containers/Entries/withExRateItemEntriesPriceRecalc';
import {
InvoiceExchangeRateInputField,
InvoiceProjectSelectButton,
@@ -40,7 +33,6 @@ import {
ProjectBillableEntriesLink,
} from '@/containers/Projects/components';
import { Features } from '@/constants';
-import { useCustomerUpdateExRate } from '@/containers/Entries/withExRateItemEntriesPriceRecalc';
const getInvoiceFieldsStyle = (theme: Theme) => css`
.${theme.bpPrefix}-form-group {
@@ -77,62 +69,55 @@ export default function InvoiceFormHeaderFields() {
{/* ----------- Invoice date ----------- */}
-
- {({ form, field: { value }, meta: { error, touched } }) => (
- }
- inline={true}
- labelInfo={}
- className={classNames(CLASSES.FILL)}
- intent={inputIntent({ error, touched })}
- helperText={}
- >
- {
- form.setFieldValue('invoice_date', formattedDate);
- })}
- popoverProps={{
- position: Position.BOTTOM_LEFT,
- minimal: true,
- }}
- inputProps={{
- leftIcon: ,
- }}
- />
-
- )}
-
+ }
+ labelInfo={}
+ inline
+ fastField
+ >
+ date.toLocaleDateString()}
+ parseDate={(str) => new Date(str)}
+ popoverProps={{
+ position: Position.BOTTOM_LEFT,
+ minimal: true,
+ fill: true,
+ }}
+ inputProps={{
+ leftIcon: ,
+ }}
+ fill
+ fastField
+ />
+
{/* ----------- Due date ----------- */}
-
- {({ form, field: { value }, meta: { error, touched } }) => (
- }
- labelInfo={}
- inline={true}
- className={classNames(CLASSES.FILL)}
- intent={inputIntent({ error, touched })}
- helperText={}
- >
- {
- form.setFieldValue('due_date', formattedDate);
- })}
- popoverProps={{
- position: Position.BOTTOM_LEFT,
- minimal: true,
- }}
- inputProps={{
- leftIcon: ,
- }}
- />
-
- )}
-
+ }
+ labelInfo={}
+ inline
+ fastField
+ >
+ date.toLocaleDateString()}
+ parseDate={(str) => new Date(str)}
+ popoverProps={{
+ position: Position.BOTTOM_LEFT,
+ minimal: true,
+ fill: true,
+ }}
+ inputProps={{
+ leftIcon: ,
+ fill: true,
+ }}
+ fill
+ fastField
+ />
+
{/* ----------- Invoice number ----------- */}
diff --git a/packages/webapp/src/containers/Sales/PaymentsReceived/PaymentReceiveForm/PaymentReceiveHeaderFields.tsx b/packages/webapp/src/containers/Sales/PaymentsReceived/PaymentReceiveForm/PaymentReceiveHeaderFields.tsx
index 42f956aa7..6115c6289 100644
--- a/packages/webapp/src/containers/Sales/PaymentsReceived/PaymentReceiveForm/PaymentReceiveHeaderFields.tsx
+++ b/packages/webapp/src/containers/Sales/PaymentsReceived/PaymentReceiveForm/PaymentReceiveHeaderFields.tsx
@@ -3,16 +3,14 @@ import React, { useMemo } from 'react';
import classNames from 'classnames';
import styled from 'styled-components';
import {
- FormGroup,
InputGroup,
Position,
Classes,
ControlGroup,
Button,
} from '@blueprintjs/core';
-import { DateInput } from '@blueprintjs/datetime';
import { isEmpty, toSafeInteger } from 'lodash';
-import { FastField, useFormikContext, ErrorMessage } from 'formik';
+import { useFormikContext } from 'formik';
import { css } from '@emotion/css';
import { Theme, useTheme } from '@emotion/react';
@@ -22,15 +20,9 @@ import {
FormattedMessage as T,
FMoneyInputGroup,
Stack,
+ FDateInput,
} from '@/components';
-import { CLASSES } from '@/constants/classes';
-import {
- safeSumBy,
- momentFormatter,
- tansformDateValue,
- handleDateChange,
- inputIntent,
-} from '@/utils';
+import { safeSumBy } from '@/utils';
import {
FFormGroup,
AccountsSelect,
@@ -58,7 +50,6 @@ import {
import { Features } from '@/constants';
import { PaymentReceivePaymentNoField } from './PaymentReceivePaymentNoField';
-
const getHeaderFieldsStyle = (theme: Theme) => css`
.${theme.bpPrefix}-form-group {
margin-bottom: 0;
@@ -120,31 +111,28 @@ export default function PaymentReceiveHeaderFields() {
name={'exchange_rate'}
formGroupProps={{ label: ' ', inline: true }}
/>
+
{/* ------------- Payment date ------------- */}
-
- {({ form, field: { value }, meta: { error, touched } }) => (
- }
- inline={true}
- labelInfo={}
- className={classNames('form-group--select-list', CLASSES.FILL)}
- intent={inputIntent({ error, touched })}
- helperText={}
- >
- {
- form.setFieldValue('payment_date', formattedDate);
- })}
- popoverProps={{ position: Position.BOTTOM, minimal: true }}
- inputProps={{
- leftIcon: ,
- }}
- />
-
- )}
-
+ }
+ labelInfo={}
+ inline
+ fastField
+ >
+ date.toLocaleDateString()}
+ parseDate={(str) => new Date(str)}
+ popoverProps={{ position: Position.BOTTOM_LEFT, minimal: true }}
+ inputProps={{
+ leftIcon: ,
+ fill: true,
+ }}
+ fill
+ fastField
+ />
+
{/* ------------ Full amount ------------ */}
{/* ----------- Receipt date ----------- */}
-
- {({ form, field: { value }, meta: { error, touched } }) => (
- }
- inline={true}
- className={classNames(CLASSES.FILL)}
- intent={inputIntent({ error, touched })}
- helperText={}
- >
- {
- form.setFieldValue('receipt_date', formattedDate);
- })}
- popoverProps={{ position: Position.BOTTOM, minimal: true }}
- inputProps={{
- leftIcon: ,
- }}
- />
-
- )}
-
+ }
+ inline
+ fastField
+ >
+ date.toLocaleDateString()}
+ parseDate={(str) => new Date(str)}
+ popoverProps={{ position: Position.BOTTOM_LEFT, minimal: true }}
+ inputProps={{
+ leftIcon: ,
+ fill: true,
+ }}
+ fill
+ fastField
+ />
+
{/* ----------- Receipt number ----------- */}