aboutsummaryrefslogtreecommitdiff
path: root/mobile
diff options
context:
space:
mode:
authorivanshen <iwshen11@gmail.com>2019-03-28 20:37:09 +0000
committerivanshen <iwshen11@gmail.com>2019-03-28 20:37:09 +0000
commit3dd46ef8b12b9cc58c8ebdb8bd8b058ffa42b3ae (patch)
tree340f5ae1785d1fcf8af76e1016ca8fa0eb6df5cb /mobile
parent7c98e3c782f3d8da4cc289dce9ecb0a6cfd9b26d (diff)
add patch for feat28feat/28-patch
Diffstat (limited to 'mobile')
-rw-r--r--mobile/components/GreetingPage.js31
1 files changed, 15 insertions, 16 deletions
diff --git a/mobile/components/GreetingPage.js b/mobile/components/GreetingPage.js
index 9301fbc..b5d1ca4 100644
--- a/mobile/components/GreetingPage.js
+++ b/mobile/components/GreetingPage.js
@@ -6,28 +6,31 @@ import { Location, Permissions, Constants } from 'expo';
export default class GreetingPage extends Component {
state = {
- isLoading: true,
+ isLoading: false,
errorMessage: null,
locationResult: null,
};
- // runs as soon as page is loaded
- componentDidMount() {
- // immediately attempt to get the location
- this._getLocationAsync();
- }
-
- _getLocationAsync = async () => {
+ moveToFormPage = async () => {
+ this.setState({isLoading: true});
// ask location services to allow location access to THIS app.
// Note: location services itself must still be enabled for this!
const {status} = await Permissions.askAsync(Permissions.LOCATION);
if (status === 'granted') {
// try to actually get the location asynchronously - a Promise
Location.getCurrentPositionAsync({enableHighAccuracy: true}).then((position) => {
- this.setState({locationResult: position.coords});
+ this.setState({locationResult: position.coords}, () => {
+ this.props.navigation.navigate('FormPage',
+ {coordinates : [
+ this.state.locationResult.longitude,
+ this.state.locationResult.latitude]
+ });
+ });
// since we are guaranteed to have the location here, its safe to load the full view
this.setState({isLoading: false});
+ // move to form page
}).catch((e) => {
+ this.setState({isLoading: false});
alert(e + ' Please make sure your location (GPS) is turned on.');
});
@@ -37,13 +40,9 @@ export default class GreetingPage extends Component {
}
};
- moveToFormPage = () => {
- this.props.navigation.navigate('FormPage',
- {coordinates : [
- this.state.locationResult.longitude,
- this.state.locationResult.latitude]
- });
- };
+ moveToMapPage = () => {
+ this.props.navigation.navigate('MapPage');
+ }
render() {