Skip to content

Commit d42fb2c

Browse files
committed
fix: Workflows - Street doesn't get automatically filled out for a specific address.
Signed-off-by: krishna2323 <[email protected]>
1 parent dbc3de5 commit d42fb2c

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

src/components/AddressSearch/index.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,15 +162,21 @@ function AddressSearch(
162162

163163
// Make sure that the order of keys remains such that the country is always set above the state.
164164
// Refer to https://github.com/Expensify/App/issues/15633 for more information.
165-
const {country: countryFallbackLongName = '', state: stateAutoCompleteFallback = '', city: cityAutocompleteFallback = ''} = getPlaceAutocompleteTerms(autocompleteData?.terms ?? []);
165+
const {
166+
country: countryFallbackLongName = '',
167+
state: stateAutoCompleteFallback = '',
168+
city: cityAutocompleteFallback = '',
169+
street: streetAutocompleteFallback,
170+
streetNumber: streetNumberAutocompleteFallback,
171+
} = getPlaceAutocompleteTerms(autocompleteData?.terms ?? []);
166172

167173
const countryFallback = Object.keys(CONST.ALL_COUNTRIES).find((country) => country === countryFallbackLongName);
168174

169175
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
170176
const country = countryPrimary || countryFallback || '';
171177

172178
const values = {
173-
street: `${streetNumber} ${streetName}`.trim(),
179+
street: `${streetNumber || streetNumberAutocompleteFallback} ${streetName || streetAutocompleteFallback}`.trim(),
174180
name: details.name ?? '',
175181
// Autocomplete returns any additional valid address fragments (e.g. Apt #) as subpremise.
176182
street2: subpremise,

src/libs/GooglePlacesUtils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,15 @@ function getAddressComponents(addressComponents: AddressComponent[], fieldsToExt
3333
}
3434

3535
type AddressTerm = {value: string};
36-
type GetPlaceAutocompleteTermsResultKey = 'country' | 'state' | 'city' | 'street';
36+
type GetPlaceAutocompleteTermsResultKey = 'country' | 'state' | 'city' | 'street' | 'streetNumber';
3737
type GetPlaceAutocompleteTermsResult = Partial<Record<GetPlaceAutocompleteTermsResultKey, string>>;
3838

3939
/**
4040
* Finds an address term by type, and returns the value associated to key. Note that each term in the address must
4141
* conform to the following ORDER: <street, city, state, country>
4242
*/
4343
function getPlaceAutocompleteTerms(addressTerms: AddressTerm[]): GetPlaceAutocompleteTermsResult {
44-
const fieldsToExtract: GetPlaceAutocompleteTermsResultKey[] = ['country', 'state', 'city', 'street'];
44+
const fieldsToExtract: GetPlaceAutocompleteTermsResultKey[] = ['country', 'state', 'city', 'street', 'streetNumber'];
4545
const result: GetPlaceAutocompleteTermsResult = {};
4646
fieldsToExtract.forEach((fieldToExtract, index) => {
4747
const fieldTermIndex = addressTerms.length - (index + 1);

0 commit comments

Comments
 (0)