Skip to content

Commit 985276f

Browse files
committed
Fix placeholder refactor
1 parent c3635f7 commit 985276f

15 files changed

Lines changed: 92 additions & 15 deletions

src/features/data/components/fields/DomainField.tsx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ import { Input } from '../../../../components/ui/input';
55
import { GeneralizedFormFieldProps } from '../../types/GeneralizedFormFieldProps';
66
import { handleDomainFieldBlur } from '../../utils/handleDomainFieldBlur';
77
import { default as cn } from '../../../../lib/cn';
8+
import { getGeneralizedFormFieldPlaceholder as getPlaceholder } from '../../utils/getGeneralizedFormFieldLabel';
9+
import {
10+
baseTranslations,
11+
useLanguage,
12+
} from '../../../../hooks/useLocalization';
813

914
/**
1015
* DomainField component renders an input field for handling web domain values in a form.
@@ -54,6 +59,8 @@ export const DomainField = <
5459
name,
5560
});
5661
const required = isFieldRequired({ fieldSpec, operation });
62+
const { language } = useLanguage(baseTranslations);
63+
const placeholder = getPlaceholder(language, name, fieldSpec, 'example.com');
5764

5865
return (
5966
<Input
@@ -63,7 +70,7 @@ export const DomainField = <
6370
field: R.pick(['onBlur'], field),
6471
setError,
6572
})}
66-
placeholder='example.com'
73+
placeholder={placeholder}
6774
required={required}
6875
/>
6976
);

src/features/data/components/fields/EmailAddressField.tsx

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ import { Input } from '../../../../components/ui/input';
55
import { GeneralizedFormFieldProps } from '../../types/GeneralizedFormFieldProps';
66
import { handleEmailAddressFieldBlur } from '../../utils/handleEmailAddressFieldBlur';
77
import { default as cn } from '../../../../lib/cn';
8+
import { getGeneralizedFormFieldPlaceholder as getPlaceholder } from '../../utils/getGeneralizedFormFieldLabel';
9+
import {
10+
baseTranslations,
11+
useLanguage,
12+
} from '../../../../hooks/useLocalization';
813

914
/**
1015
* EmailAddressField component renders an input field for handling email address values in a form.
@@ -54,6 +59,13 @@ export const EmailAddressField = <
5459
name,
5560
});
5661
const required = isFieldRequired({ fieldSpec, operation });
62+
const { language } = useLanguage(baseTranslations);
63+
const placeholder = getPlaceholder(
64+
language,
65+
name,
66+
fieldSpec,
67+
'alice@example.com',
68+
);
5769

5870
return (
5971
<Input
@@ -63,7 +75,7 @@ export const EmailAddressField = <
6375
field: R.pick(['onBlur'], field),
6476
setError,
6577
})}
66-
placeholder='john@example.com'
78+
placeholder={placeholder}
6779
required={required}
6880
/>
6981
);

src/features/data/components/fields/FloatingPointNumberField.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import { Input } from '../../../../components/ui/input';
55
import { GeneralizedFormFieldProps } from '../../types/GeneralizedFormFieldProps';
66
import { handleFloatingPointFieldBlur } from '../../utils/handleFloatingPointFieldBlur';
77
import { handleFloatingPointFieldKeyUp } from '../../utils/handleFloatingPointFieldKeyUp';
8-
// import { getGeneralizedFormFieldLabel as getLabel } from '../../utils/getGeneralizedFormFieldLabel';
98
import { getGeneralizedFormFieldPlaceholder as getPlaceholder } from '../../utils/getGeneralizedFormFieldLabel';
109
import cn from '../../../../lib/cn';
1110
import {

src/features/data/components/fields/IntegerField.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import { Input } from '../../../../components/ui/input';
55
import { GeneralizedFormFieldProps } from '../../types/GeneralizedFormFieldProps';
66
import { handleIntegerFieldBlur } from '../../utils/handleIntegerFieldBlur';
77
import { handleIntegerFieldKeyUp } from '../../utils/handleIntegerFieldKeyUp';
8-
// import { getGeneralizedFormFieldLabel as getLabel } from '../../utils/getGeneralizedFormFieldLabel';
98
import { getGeneralizedFormFieldPlaceholder as getPlaceholder } from '../../utils/getGeneralizedFormFieldLabel';
109
import { default as cn } from '../../../../lib/cn';
1110
import {

src/features/data/components/fields/InternationalPhoneNumberField.tsx

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ import { default as cn } from '../../../../lib/cn';
1919
import { useEffect, useState } from 'react';
2020
import { Skeleton } from '../../../../components/ui/skeleton';
2121
import { baseLocalStorageUtil } from '../../../../lib/localStorage';
22+
import { getGeneralizedFormFieldPlaceholder as getPlaceholder } from '../../utils/getGeneralizedFormFieldLabel';
23+
import {
24+
baseTranslations,
25+
useLanguage,
26+
} from '../../../../hooks/useLocalization';
2227

2328
/**
2429
* InternationalPhoneNumberField component renders an input field for handling phone numbers with a country code selector.
@@ -71,6 +76,13 @@ export const InternationalPhoneNumberField = <
7176
name,
7277
});
7378
const required = isFieldRequired({ fieldSpec, operation });
79+
const { language } = useLanguage(baseTranslations);
80+
const placeholder = getPlaceholder(
81+
language,
82+
name,
83+
fieldSpec,
84+
'(813) 555-1234',
85+
);
7486

7587
useEffect(() => {
7688
const phoneNumberRegion =
@@ -145,7 +157,7 @@ export const InternationalPhoneNumberField = <
145157
setError,
146158
phoneNumberRegion: phoneNumberCountry.two_letter_country_code,
147159
})}
148-
placeholder='(813) 555-1234'
160+
placeholder={placeholder}
149161
required={required}
150162
/>
151163
</div>

src/features/data/components/fields/ListField.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import {
99
} from 'react-hook-form';
1010
import { v4 } from 'uuid';
1111
import { GeneralizedFormFieldProps } from '../../types/GeneralizedFormFieldProps';
12-
// import { getGeneralizedFormFieldLabel as getLabel } from '../../utils/getGeneralizedFormFieldLabel';
1312
import { getGeneralizedFormFieldPlaceholder as getPlaceholder } from '../../utils/getGeneralizedFormFieldLabel';
1413
import { GeneralizedFormFieldError } from '../GeneralizedFormFieldError';
1514
import { GoPlus, GoXCircle } from 'react-icons/go';

src/features/data/components/fields/LongTextField.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import { FieldValues, useController } from 'react-hook-form';
22
import { isFieldRequired } from 'ergonomic';
33
import { Textarea } from '../../../../components/ui/textarea';
44
import { GeneralizedFormFieldProps } from '../../types/GeneralizedFormFieldProps';
5-
// import { getGeneralizedFormFieldLabel as getLabel } from '../../utils/getGeneralizedFormFieldLabel';
65
import { getGeneralizedFormFieldPlaceholder as getPlaceholder } from '../../utils/getGeneralizedFormFieldLabel';
76
import { default as cn } from '../../../../lib/cn';
87
import {

src/features/data/components/fields/PercentageField.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import { FieldValues, useController } from 'react-hook-form';
33
import { isFieldRequired } from 'ergonomic';
44
import { Input } from '../../../../components/ui/input';
55
import { GeneralizedFormFieldProps } from '../../types/GeneralizedFormFieldProps';
6-
// import { getGeneralizedFormFieldLabel as getLabel } from '../../utils/getGeneralizedFormFieldLabel';
76
import { getGeneralizedFormFieldPlaceholder as getPlaceholder } from '../../utils/getGeneralizedFormFieldLabel';
87
import { handlePercentageFieldKeyUp } from '../../utils/handlePercentageFieldKeyUp';
98
import { default as cn } from '../../../../lib/cn';

src/features/data/components/fields/RichTextField.tsx

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ import { FieldValues, useController } from 'react-hook-form';
55
import dynamic from 'next/dynamic';
66
import { Skeleton } from '../../../../components/ui/skeleton';
77
import { GeneralizedFormFieldProps } from '../../types/GeneralizedFormFieldProps';
8+
import { getGeneralizedFormFieldPlaceholder as getPlaceholder } from '../../utils/getGeneralizedFormFieldLabel';
9+
import {
10+
baseTranslations,
11+
useLanguage,
12+
} from '../../../../hooks/useLocalization';
813

914
/**
1015
* RichTextField component renders a rich text editor
@@ -60,6 +65,13 @@ export const RichTextField = <
6065
disabled,
6166
name,
6267
});
68+
const { language } = useLanguage(baseTranslations);
69+
const placeholder = getPlaceholder(
70+
language,
71+
name,
72+
fieldSpec,
73+
'Enter text here...',
74+
);
6375

6476
// Initialize rich text
6577
useEffect(() => {
@@ -97,7 +109,7 @@ export const RichTextField = <
97109
}
98110
setRichText(v);
99111
}}
100-
placeholder='Enter text here...'
112+
placeholder={placeholder}
101113
theme='snow'
102114
value={richText}
103115
/>

src/features/data/components/fields/SensitiveTextField.tsx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@ import { FieldValues, useController } from 'react-hook-form';
33
import { Input } from '../../../../components/ui/input';
44
import { GeneralizedFormFieldProps } from '../../types/GeneralizedFormFieldProps';
55
import { default as cn } from '../../../../lib/cn';
6+
import { getGeneralizedFormFieldPlaceholder as getPlaceholder } from '../../utils/getGeneralizedFormFieldLabel';
7+
import {
8+
baseTranslations,
9+
useLanguage,
10+
} from '../../../../hooks/useLocalization';
611

712
/**
813
* SensitiveTextField component renders a password input field for handling sensitive text values.
@@ -44,12 +49,14 @@ export const SensitiveTextField = <
4449
name,
4550
});
4651
const required = isFieldRequired({ fieldSpec, operation });
52+
const { language } = useLanguage(baseTranslations);
53+
const placeholder = getPlaceholder(language, name, fieldSpec, '•••••••••••');
4754

4855
return (
4956
<Input
5057
{...field}
5158
className={cn('block w-full p-2 border rounded-md bg-white', className)}
52-
placeholder='•••••••••••'
59+
placeholder={placeholder}
5360
required={required}
5461
type='password'
5562
/>

0 commit comments

Comments
 (0)