diff --git a/src/common/modalChargeOptions.tsx b/src/common/modalChargeOptions.tsx index 05b737877..fd832c48e 100644 --- a/src/common/modalChargeOptions.tsx +++ b/src/common/modalChargeOptions.tsx @@ -12,6 +12,6 @@ export const expenseChargeOption = [ value: '% markup', }, { name: intl.get('expenses.dialog.pass_cost_on'), value: 'Pass cost on' }, - { name: intl.get('expemses.dialog.custom_price'), value: 'Custom Pirce' }, + { name: intl.get('expenses.dialog.custom_pirce'), value: 'Custom Pirce' }, { name: intl.get('expenses.dialog.non_chargeable'), value: 'Non-chargeable' }, ]; diff --git a/src/containers/Projects/components/FInputGroupComponent.tsx b/src/containers/Projects/components/FInputGroupComponent.tsx new file mode 100644 index 000000000..dff4aaea4 --- /dev/null +++ b/src/containers/Projects/components/FInputGroupComponent.tsx @@ -0,0 +1,20 @@ +//@ts-nocheck +import React from 'react'; +import { FInputGroup } from 'components'; +import { useFormikContext } from 'formik'; + +export function FInputGroupComponent({ toField, ...props }) { + const { values, setFieldValue } = useFormikContext(); + const { expenseQuantity, expenseUnitPrice } = values; + const total = expenseQuantity * expenseUnitPrice; + + const handleBlur = () => { + setFieldValue(toField, total); + }; + + const inputGroupProps = { + onBlur: handleBlur, + ...props, + }; + return ; +} diff --git a/src/containers/Projects/components/index.ts b/src/containers/Projects/components/index.ts index 8a79d463f..1e12c7b83 100644 --- a/src/containers/Projects/components/index.ts +++ b/src/containers/Projects/components/index.ts @@ -1,2 +1,3 @@ export * from './ExpenseSelect'; export * from './ChargeSelect'; +export * from './FInputGroupComponent' diff --git a/src/containers/Projects/containers/EstimatedExpenseFormDialog/EstimatedExpense.schema.tsx b/src/containers/Projects/containers/EstimatedExpenseFormDialog/EstimatedExpense.schema.tsx index 2aada093e..148f7460b 100644 --- a/src/containers/Projects/containers/EstimatedExpenseFormDialog/EstimatedExpense.schema.tsx +++ b/src/containers/Projects/containers/EstimatedExpenseFormDialog/EstimatedExpense.schema.tsx @@ -12,7 +12,7 @@ const Schema = Yup.object().shape({ unitPrice: Yup.number().label( intl.get('estimated_expense.schema.label.unit_price'), ), - total: Yup.number(), + expenseTotal: Yup.number(), charge: Yup.string(), }); diff --git a/src/containers/Projects/containers/EstimatedExpenseFormDialog/EstimatedExpenseFormFields.tsx b/src/containers/Projects/containers/EstimatedExpenseFormDialog/EstimatedExpenseFormFields.tsx index 975903ca2..a9c525ea8 100644 --- a/src/containers/Projects/containers/EstimatedExpenseFormDialog/EstimatedExpenseFormFields.tsx +++ b/src/containers/Projects/containers/EstimatedExpenseFormDialog/EstimatedExpenseFormFields.tsx @@ -10,7 +10,7 @@ import { FormattedMessage as T, FieldRequiredHint, } from 'components'; -import { ExpenseSelect } from '../../components'; +import { ExpenseSelect, FInputGroupComponent } from '../../components'; import { useEstimatedExpenseFormContext } from './EstimatedExpenseFormProvider'; import EstimatedExpenseFormChargeFields from './EstimatedExpenseFormChargeFields'; import { ChargeSelect } from '../../components'; @@ -41,27 +41,31 @@ export default function EstimatedExpenseFormFields() { label={intl.get('estimated_expenses.dialog.quantity')} name={'quantity'} > - + - Cost to you + + + {/*------------ Unit Price -----------*/} - + - + - What you'll charge + + + {/*------------ Charge -----------*/} - + - Cost to you + + + {/*------------ Unit Price -----------*/} - + - What you'll charge + + + {/*------------ Charge -----------*/} - $100000 + 0.00 @@ -75,8 +75,9 @@ export default TaskFormFields; const EstimatedAmountBase = styled.div` display: flex; justify-content: flex-end; - font-size: 12px; - /* opacity: 0.7; */ + font-size: 14px; + line-height: 1.5rem; + opacity: 0.75; `; const EstimatedAmountContent = styled.span` @@ -85,7 +86,7 @@ const EstimatedAmountContent = styled.span` `; const EstimateAmount = styled.span` - font-size: 13px; + font-size: 15px; font-weight: 700; margin-left: 10px; `; diff --git a/src/lang/en/index.json b/src/lang/en/index.json index ee5168c64..867d706de 100644 --- a/src/lang/en/index.json +++ b/src/lang/en/index.json @@ -2115,6 +2115,8 @@ "expenses.dialog.pass_cost_on": "Pass cost on", "expenses.dialog.custom_pirce": "Custom Pirce", "expenses.dialog.non_chargeable": "Non-chargeable", + "expenses.dialog.cost_to_you":"Cost to you", + "expenses.dialog.what_you_ll_charge":"What you'll charge", "expense.schema.label.expense_name": "Expense name", "expense.schema.label.estimated_expense": "Estimated expense", "expense.schema.label.quantity": "Quantity", @@ -2128,6 +2130,8 @@ "estimated_expenses.dialog.charge": "Charge", "estimated_expenses.dialog.percentage": "Percentage", "estimated_expenses.dialog.estimated_amount": "Estimated Amount:", + "estimated_expenses.dialog.cost_to_you":"Cost to you", + "estimated_expenses.dialog.what_you_ll_charge":"What you'll charge", "estimated_expense.schema.label.estimated_expense": "Estimated expense name", "estimated_expense.schema.label.quantity": "Quantity", "estimated_expense.schema.label.unit_price": "Unit price",