diff --git a/src/app/components/forms/FormDatePicker.js b/src/app/components/forms/FormDatePicker.js
new file mode 100644
index 0000000..b39dee2
--- /dev/null
+++ b/src/app/components/forms/FormDatePicker.js
@@ -0,0 +1,151 @@
+import React, { useState } from 'react'; 7
+import { Modal, StyleSheet, Text, TouchableHighlight, View, Platform, TouchableOpacity } from 'react-native';
+import DateTimePicker from "@react-native-community/datetimepicker";
+
+import moment from "moment";
+import colors from '../../config/colors';
+
+const FormDatePicker = (props) => {
+
+ const { textStyle, defaultDate } = props;
+ const [date, setDate] = useState(moment(defaultDate));
+ const [show, setShow] = useState(false);
+
+ const onChange = (e, selectedDate) => {
+ setDate(moment(selectedDate));
+ }
+
+ const androidOnChange = (e, selectedDate) => {
+ setShow(false);
+ if (selectedDate) {
+ setDate(moment(selectedDate));
+ props.onDateChange(selectedDate);
+ // console.log(moment(selectedDate).format("DD-MM-YYYY"));
+ // console.log(date.format("DD-MM-YYYY"));
+ }
+ }
+
+ const onCancelPress = () => {
+ setDate(moment(defaultDate));
+ setShow(false);
+ //console.log(moment(defaultDate).format("DD-MM-YYYY"))
+ }
+
+ const onDonePress = () => {
+ props.onDateChange(date);
+ setShow(false);
+ //console.log("done");
+ //console.log(date.format("DD-MM-YYYY"));
+
+ }
+
+ const renderDatePicker = () => {
+ return (
+
+ )
+ }
+
+ return (
+ setShow(true)}>
+ {date.format("DD-MM-YYYY")}
+ {Platform.OS !== 'ios' && show && renderDatePicker()}
+
+ {Platform.OS === 'ios' && show && (
+ setShow(false)}
+ >
+
+ setShow(false)}>
+ console.log("datepicker clicked")}
+ >
+
+
+ { renderDatePicker() }
+
+ onCancelPress()}
+ style={[styles.btnText, styles.btnCancel]}
+ >
+
+ Cancel
+
+
+ onDonePress()}
+ style={[styles.btnText, styles.btnDone]}
+ >
+
+ Done
+
+
+
+
+
+
+
+
+
+ )}
+
+ );
+};
+
+FormDatePicker.defaultProps = {
+ textStyle: {},
+ defaultDate: moment(),
+ onDateChange: () => { },
+}
+
+const styles = StyleSheet.create({
+ btnCancel: {
+ left: 0,
+ },
+ btnDone: {
+ right: 0,
+ },
+ btnText: {
+ position: "absolute",
+ top: 0,
+ height: 42,
+ paddingHorizontal: 20,
+ flexDirection: "row",
+ alignItems: "center",
+ justifyContent: "center",
+ },
+});
+
+export default FormDatePicker;
\ No newline at end of file
diff --git a/src/app/screens/PluviometerSharingDataScreen.js b/src/app/screens/PluviometerSharingDataScreen.js
index 7a6bac5..d62bf33 100644
--- a/src/app/screens/PluviometerSharingDataScreen.js
+++ b/src/app/screens/PluviometerSharingDataScreen.js
@@ -6,8 +6,6 @@ import {
View,
Image,
ScrollView,
- Modal,
- Platform,
} from "react-native";
import * as Yup from "yup";
@@ -21,16 +19,11 @@ import Screen from "../components/Screen";
import useLocation from "../hooks/useLocation";
import FormImagePicker from "../components/forms/FormImagePicker";
import { insertPluviometerData } from "../database/databaseLoader";
-import {
- TouchableHighlight,
- TouchableOpacity,
-} from "react-native-gesture-handler";
-import DateTimePicker from "@react-native-community/datetimepicker";
import { FontAwesome5 } from "@expo/vector-icons";
import { showMessage } from "react-native-flash-message";
-import moment from "moment";
import colors from "../config/colors";
import { scaleDimsFromWidth } from "../config/dimensions";
+import FormDatePicker from "../components/forms/FormDatePicker";
const dims = scaleDimsFromWidth(85, 85, 25);
@@ -44,51 +37,12 @@ const validationSchema = Yup.object().shape({
images: Yup.array(),
});
+
function PluviometerSharingDataScreen(props) {
const location = useLocation();
- //-------------------------------------------DATETIMEPICKER------------------------------------------------
- const { textStyle, defaultDate } = props;
- const [date, setDate] = useState(moment(defaultDate))
- const [show, setShow] = useState(false);
- const [dateTime, setDateTime] = useState(moment(defaultDate)) //gambi pra inserir no BD
-
- //---------------ios------------------------
- const onChange = (e, selectedDate) => {
- setDate(moment(selectedDate));
- setDateTime(moment(selectedDate).format("DD/MM/YYYY").toString());
- }
- const onCancelPress = () => {
- setDate(moment(defaultDate));
- setShow(false);
- }
- const onDonePress = () => {
- setShow(false);
- }
- //-------------------------------------------
+ const [dateTime, setDateTime] = useState();
- const onAndroidChange = (e, selectedDate) => {
- setShow(false);
- if (selectedDate) {
- setDate(moment(selectedDate));
- setDateTime(moment(selectedDate).format("DD/MM/YYYY").toString());
- }
- }
-
- const renderDatePicker = () => {
- return (
-
- )
- }
- // ---------------------------------------------------------------------------------------------------------*/
return (
@@ -121,80 +75,27 @@ function PluviometerSharingDataScreen(props) {
>
Quantidade de chuva:
-
+
-
- Data da coleta:
- setShow(true)}>
-
-
- {date.format('DD/MM/YYYY')}
-
-
- {Platform.OS !== 'ios' && show && renderDatePicker()}
- {Platform.OS === 'ios' && show && (
- setShow(false)}>
-
- setShow(false)}>
- console.log('Datepicker press')}>
-
-
- { renderDatePicker() }
-
-
- Cancelar
-
-
-
- Ok
-
-
-
-
-
-
- )}
-
-
+
+ Data da coleta:
+ setDateTime(value)}
+ />
+