From 2485cb5d73b449435d80e6a41341e60e7168d947 Mon Sep 17 00:00:00 2001 From: GabrielTrettel Date: Tue, 2 Mar 2021 16:19:44 -0300 Subject: [PATCH] Cleaning user location data from context on render form --- src/app/screens/PluviometerSharingDataScreen.js | 10 +++++++--- src/app/screens/RainSharingDataScreen.js | 10 +++++----- src/app/screens/RiverFloodSharingDataScreen.js | 12 ++++++++++-- src/app/screens/SharingFloodZonesScreen.js | 12 +++++++++--- 4 files changed, 31 insertions(+), 13 deletions(-) diff --git a/src/app/screens/PluviometerSharingDataScreen.js b/src/app/screens/PluviometerSharingDataScreen.js index a21b482..433d033 100644 --- a/src/app/screens/PluviometerSharingDataScreen.js +++ b/src/app/screens/PluviometerSharingDataScreen.js @@ -1,4 +1,4 @@ -import React, { useState } from "react"; +import React, { useState, useContext, useEffect } from "react"; import { StyleSheet, Text, View, ScrollView } from "react-native"; import * as Yup from "yup"; import { @@ -18,6 +18,7 @@ import colors from "../config/colors/"; import moment from "moment"; import FormLocationPicker from "../components/forms/FormLocationPicker"; import { TouchableOpacity } from "react-native-gesture-handler"; +import { EventLocationContext } from "../context/EventLocationContext"; const dims = scaleDimsFromWidth(85, 85, 25); @@ -32,9 +33,12 @@ const validationSchema = Yup.object().shape({ }); function PluviometerSharingDataScreen(props) { - const location = useLocation(); - global.eventCoordinates = useLocation(); + const context = useContext(EventLocationContext); + useEffect(() => { + context.defaultLocation(); + }, []); + const location = context.eventCoordinates; const [dateTime, setDateTime] = useState(moment()); const [time, setTime] = useState(moment()); diff --git a/src/app/screens/RainSharingDataScreen.js b/src/app/screens/RainSharingDataScreen.js index dcf267f..ad9a393 100644 --- a/src/app/screens/RainSharingDataScreen.js +++ b/src/app/screens/RainSharingDataScreen.js @@ -21,7 +21,6 @@ import assets from "../config/assets"; import moment from "moment"; import FormDatePicker from "../components/forms/FormDatePicker"; import FormLocationPicker from "../components/forms/FormLocationPicker"; -import { CurrentLocationContext } from "../context/CurrentLocationContext"; import { EventLocationContext } from "../context/EventLocationContext"; const validationSchema = Yup.object().shape({ @@ -34,15 +33,14 @@ const borderWidth = 4; function RainSharingDataScreen(props) { const [rain, setRain] = useState(-1); const [error, setError] = useState(false); - const location = "useLocation()"; - const dims = scaleDimsFromWidth(85, 85, 27); + const dims = scaleDimsFromWidth(85, 85, 27); const [date, setDate] = useState(moment()); const [time, setTime] = useState(moment()); - + //======== testei aqui pra ver se atualiza a localização pro default quando abre o formulário =========== - + const context = useContext(EventLocationContext); useEffect(() => { @@ -50,6 +48,8 @@ function RainSharingDataScreen(props) { }, []); //======================================================================================================== + const location = context.eventCoordinates; + return ( diff --git a/src/app/screens/RiverFloodSharingDataScreen.js b/src/app/screens/RiverFloodSharingDataScreen.js index e901873..d0e4253 100644 --- a/src/app/screens/RiverFloodSharingDataScreen.js +++ b/src/app/screens/RiverFloodSharingDataScreen.js @@ -1,4 +1,4 @@ -import React, { useState } from "react"; +import React, { useEffect, useState, useContext } from "react"; import { StyleSheet, View, TouchableOpacity } from "react-native"; import * as Yup from "yup"; @@ -22,6 +22,7 @@ import { scaleDimsFromWidth, dimensions } from "../config/dimensions"; import moment from "moment"; import FormDatePicker from "../components/forms/FormDatePicker"; import FormLocationPicker from "../components/forms/FormLocationPicker"; +import { EventLocationContext } from "../context/EventLocationContext"; const validationSchema = Yup.object().shape({ images: Yup.array(), @@ -32,7 +33,14 @@ const borderWidth = 4; function RiverFloodSharingDataScreen(props) { const [riverScale, setRiverScale] = useState(-1); - const location = "useLocation()"; + + const context = useContext(EventLocationContext); + + useEffect(() => { + context.defaultLocation(); + }, []); + const location = context.eventCoordinates; + const [error, setError] = useState(false); const [date, setDate] = useState(moment()); diff --git a/src/app/screens/SharingFloodZonesScreen.js b/src/app/screens/SharingFloodZonesScreen.js index 9dec50a..8d1842a 100644 --- a/src/app/screens/SharingFloodZonesScreen.js +++ b/src/app/screens/SharingFloodZonesScreen.js @@ -1,4 +1,4 @@ -import React, { useState } from "react"; +import React, { useState, useContext, useEffect } from "react"; import { StyleSheet, Text, Image, View } from "react-native"; import * as Yup from "yup"; @@ -19,6 +19,7 @@ import assets from "../config/assets"; import moment from "moment"; import FormDatePicker from "../components/forms/FormDatePicker"; import FormLocationPicker from "../components/forms/FormLocationPicker"; +import { EventLocationContext } from "../context/EventLocationContext"; function submitForm(props) { console.log(props); @@ -33,11 +34,16 @@ const validationSchema = Yup.object().shape({ function SharingFloodZonesScreen(props) { const [passable, setPassable] = useState(-1); const [error, setError] = useState(false); - const location = "useLocation()"; - const [date, setDate] = useState(moment()); const [time, setTime] = useState(moment()); + const context = useContext(EventLocationContext); + + useEffect(() => { + context.defaultLocation(); + }, []); + const location = context.eventCoordinates; + return (