diff --git a/front/src/modules/ui/object/field/meta-types/display/content-display/components/CurrencyDisplay.tsx b/front/src/modules/ui/object/field/meta-types/display/content-display/components/CurrencyDisplay.tsx
index c0cb53cc3..fda2dc286 100644
--- a/front/src/modules/ui/object/field/meta-types/display/content-display/components/CurrencyDisplay.tsx
+++ b/front/src/modules/ui/object/field/meta-types/display/content-display/components/CurrencyDisplay.tsx
@@ -11,8 +11,7 @@ type CurrencyDisplayProps = {
export const CurrencyDisplay = ({ value }: CurrencyDisplayProps) => {
return (
- {convertCurrencyMicrosToCurrency(value?.amountMicros)}{' '}
- {value?.currencyCode}
+ {convertCurrencyMicrosToCurrency(value?.amountMicros)}
);
};
diff --git a/front/src/modules/ui/object/field/meta-types/hooks/useCurrencyField.ts b/front/src/modules/ui/object/field/meta-types/hooks/useCurrencyField.ts
index 3bf2f29ae..32f4a22c9 100644
--- a/front/src/modules/ui/object/field/meta-types/hooks/useCurrencyField.ts
+++ b/front/src/modules/ui/object/field/meta-types/hooks/useCurrencyField.ts
@@ -1,6 +1,8 @@
import { useContext } from 'react';
import { useRecoilState } from 'recoil';
+import { FieldInitialValue } from '@/ui/object/field/types/FieldInitialValue';
+
import { FieldContext } from '../../contexts/FieldContext';
import { useFieldInitialValue } from '../../hooks/useFieldInitialValue';
import { usePersistField } from '../../hooks/usePersistField';
@@ -10,6 +12,22 @@ import { assertFieldMetadata } from '../../types/guards/assertFieldMetadata';
import { isFieldCurrency } from '../../types/guards/isFieldCurrency';
import { isFieldCurrencyValue } from '../../types/guards/isFieldCurrencyValue';
+const initializeValue = (
+ fieldInitialValue: FieldInitialValue | undefined,
+ fieldValue: FieldCurrencyValue,
+) => {
+ if (fieldInitialValue?.isEmpty) {
+ return { amountMicros: 0, currencyCode: 'USD' };
+ }
+ if (!isNaN(Number(fieldInitialValue?.value))) {
+ return {
+ amountMicros: Number(fieldInitialValue?.value),
+ currencyCode: 'USD',
+ };
+ }
+ return fieldValue;
+};
+
export const useCurrencyField = () => {
const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
@@ -36,11 +54,7 @@ export const useCurrencyField = () => {
const fieldInitialValue = useFieldInitialValue();
- const initialValue: FieldCurrencyValue = fieldInitialValue?.isEmpty
- ? { amountMicros: 0, currencyCode: '' }
- : !isNaN(Number(fieldInitialValue?.value))
- ? { amountMicros: Number(fieldInitialValue?.value), currencyCode: '' }
- : { amountMicros: 0, currencyCode: '' } ?? fieldValue;
+ const initialValue = initializeValue(fieldInitialValue, fieldValue);
return {
fieldDefinition,
diff --git a/front/src/modules/ui/object/field/meta-types/input/components/CurrencyFieldInput.tsx b/front/src/modules/ui/object/field/meta-types/input/components/CurrencyFieldInput.tsx
index dfe3bb290..6ca1ebfcc 100644
--- a/front/src/modules/ui/object/field/meta-types/input/components/CurrencyFieldInput.tsx
+++ b/front/src/modules/ui/object/field/meta-types/input/components/CurrencyFieldInput.tsx
@@ -1,5 +1,8 @@
import { TextInput } from '@/ui/object/field/meta-types/input/components/internal/TextInput';
-import { convertCurrencyToCurrencyMicros } from '~/utils/convert-currency-amount';
+import {
+ convertCurrencyMicrosToCurrency,
+ convertCurrencyToCurrencyMicros,
+} from '~/utils/convert-currency-amount';
import { useCurrencyField } from '../../hooks/useCurrencyField';
@@ -80,7 +83,11 @@ export const CurrencyFieldInput = ({
return (