Merge pull request 'fix: fill location from autocomplete (#71)' (#72) from feature/order-form-upgrade into main
All checks were successful
it-academy/dry-wash-pl/pipeline/head This commit looks good

Reviewed-on: #72
Reviewed-by: Primakov Alexandr Alexandrovich <primakovpro@gmail.com>
This commit is contained in:
Rustam 2025-01-26 15:59:57 +03:00
commit e3d316c418

View File

@ -42,21 +42,29 @@ export const LocationInput = memo(
const onInputChange: InputProps['onChange'] = async (e) => {
const newInputValue = e.target.value;
setInputValue(newInputValue);
if (newInputValue.trim().length > 3) {
try {
const address = extractAddress(newInputValue);
const results = await ymaps.suggest(address);
setSuggestions(results);
} catch (error) {
console.error(error);
}
if (
isValidLocation(newInputValue) &&
(await isRealLocation(ymaps, newInputValue))
) {
onChange(newInputValue);
} else {
setSuggestions([]);
setInputValue(newInputValue);
if (newInputValue.trim().length > 3) {
try {
const address = extractAddress(newInputValue);
const results = await ymaps.suggest(address);
setSuggestions(results);
} catch (error) {
console.error(error);
}
} else {
setSuggestions([]);
}
setIsSuggestionsPanelOpen(suggestions.length > 1);
}
setIsSuggestionsPanelOpen(suggestions.length > 1);
};
const onFocus: InputProps['onFocus'] = () => {
@ -103,7 +111,7 @@ export const LocationInput = memo(
{...props}
ref={ref}
onBlur={onBlur}
value={inputValue}
value={inputValue ?? value}
onChange={onInputChange}
onFocus={onFocus}
placeholder={t('placeholder')}