Skip to content

Commit

Permalink
better error handling
Browse files Browse the repository at this point in the history
  • Loading branch information
Yen Truong committed Nov 18, 2021
1 parent f6b53ad commit 0b2a2e1
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 25 deletions.
14 changes: 9 additions & 5 deletions sample-app/src/components/LocationBias.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,15 @@ export default function LocationBias(props: Props) {
: '';

async function handleGeolocationClick() {
const position = await SearchHandler.getUserLocation(geolocationOptions);
answersActions.setUserLocation({
latitude: position.coords.latitude,
longitude: position.coords.longitude,
})
try {
const position = await SearchHandler.getUserLocation(geolocationOptions);
answersActions.setUserLocation({
latitude: position.coords.latitude,
longitude: position.coords.longitude,
});
} catch (e) {
console.error(e);
}
SearchHandler.executeSearch(answersActions, isVertical);
}

Expand Down
14 changes: 9 additions & 5 deletions sample-app/src/components/SearchBar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,15 @@ export default function SearchBar({
async function executeQuery () {
const responseToLatestRequest = await responseToLatestRequestRef.current;
if (responseToLatestRequest?.inputIntents.includes(SearchIntent.NearMe)) {
const position = await SearchHandler.getUserLocation(geolocationOptions);
answersActions.setUserLocation({
latitude: position.coords.latitude,
longitude: position.coords.longitude,
})
try {
const position = await SearchHandler.getUserLocation(geolocationOptions);
answersActions.setUserLocation({
latitude: position.coords.latitude,
longitude: position.coords.longitude,
});
} catch(e) {
console.error(e);
}
}
SearchHandler.executeSearch(answersActions, true);
}
Expand Down
14 changes: 9 additions & 5 deletions sample-app/src/pages/UniversalSearchPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,15 @@ export default function UniversalSearchPage(props: { universalResultsConfig: Uni
const executeQuery = async () => {
const searchIntents = await SearchHandler.getSearchIntents(answersActions, false);
if (searchIntents?.includes(SearchIntent.NearMe)) {
const position = await SearchHandler.getUserLocation();
answersActions.setUserLocation({
latitude: position.coords.latitude,
longitude: position.coords.longitude,
})
try {
const position = await SearchHandler.getUserLocation();
answersActions.setUserLocation({
latitude: position.coords.latitude,
longitude: position.coords.longitude,
});
} catch (e) {
console.error(e);
}
}
SearchHandler.executeSearch(answersActions, false);
};
Expand Down
14 changes: 9 additions & 5 deletions sample-app/src/pages/VerticalSearchPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -73,11 +73,15 @@ export default function VerticalSearchPage(props: {
const executeQuery = async () => {
const searchIntents = await SearchHandler.getSearchIntents(answersActions, false);
if (searchIntents?.includes(SearchIntent.NearMe)) {
const position = await SearchHandler.getUserLocation();
answersActions.setUserLocation({
latitude: position.coords.latitude,
longitude: position.coords.longitude,
})
try {
const position = await SearchHandler.getUserLocation();
answersActions.setUserLocation({
latitude: position.coords.latitude,
longitude: position.coords.longitude,
});
} catch (e) {
console.error(e);
}
}
SearchHandler.executeSearch(answersActions, true);
};
Expand Down
8 changes: 3 additions & 5 deletions sample-app/src/utils/searchhandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,13 @@ export default class SearchHandler {
navigator.geolocation.getCurrentPosition(
position => resolve(position),
err => {
console.log(err);
console.error('Unable to determine user\'s location.');
reject();
console.error('Error occured using geolocation API. Unable to determine user\'s location.');
reject(err);
},
Object.assign(defaultGeolocationOptions, geolocationOptions)
);
} else {
console.error('Unable to determine user\'s location.');
reject();
reject('No access to geolocation API. Unable to determine user\'s location.');
}
});
}
Expand Down

0 comments on commit 0b2a2e1

Please sign in to comment.