import * as React from 'react'; import { useState, useEffect } from 'react'; import { connect } from "react-redux"; import { SafeAreaView, TouchableOpacity, ImageBackground, Button, View, Text, TextInput, Alert } from 'react-native'; import CustomHeader from '../../components/header.js'; import Assets from '../../components/assets.manager.js'; import Theme from '../../components/theme.style.js'; import Elements from '../../components/elements.js'; import CustomIcon from '../../components/icons.js'; import DB from '../../components/storage'; import CustomForm from './customform'; import { Container } from 'native-base'; import moment from 'moment'; import CustomSafeArea from '../../components/safeArea.component.js'; const Tracker = (navigation) => { const [focus, setfocus] = useState(false); const [activeInput, setActiveInput] = useState(false); const [datepicker, setdatepicker] = useState(false); const params = navigation.route ? navigation.route.params : null const [date, setdate] = useState(null); const [fueltype, setfueltype] = useState(null); const [distance, setdistance] = useState(null); const [liters, setliters] = useState(null); const [update, setupdate] = useState(false); if(params.edit && !update){ setdate(params.edit.date) setfueltype(params.edit.fueltype) setdistance(params.edit.distance) setliters(params.edit.liters) setupdate(true) } const isFocused = (index) => { return focus && activeInput == index } const DeleteTracker = async () => { let TRACKS = await DB.get("tracker") let tracks = TRACKS ? JSON.parse(TRACKS) : [] let result = [] for(var x=0;x { let TRACKS = await DB.get("tracker") let tracks = TRACKS ? JSON.parse(TRACKS) : [] for(var x=0;x { navigation.route.params?.reload(task) navigation.navigation.goBack() } return ( { setdate(selectedDate ? moment(selectedDate).format("DD MMM YYYY") : date != null ? date : null) setdatepicker(false) }} onCancel={() => setdatepicker(false)}/> Alert.alert("Fuel Tracker", "Do you want to delete this fuel tracker?", [{ text: 'Cancel', style: 'cancel', },{ text: 'OK', onPress: () => DeleteTracker() },], {cancelable: true} )} style={{alignSelf: 'flex-end', right: 10}}> }/> setdatepicker(true), onChangeText: (val) => setdate(val) }, { name: "Fuel Type", value: fueltype, disabled: true, onClick: () => navigation.navigation.navigate("AddFuelType", {get: (val) => setfueltype(val)}) }, { kb: "numeric", name: "Distance Travelled", icon: 'information-circle', value: distance, onChangeText: (val) => setdistance(val), onFocus: () => distance ? setdistance(distance.includes(" km") ? distance.replace(" km", "") : distance) : null, onBlur: () => distance ? setdistance(distance + " km") : null, onIconClick: () => Alert.alert("Information", "To measure distance travelled, make sure to reset your trip meter every time you gas full tank.") }, { kb: "numeric", name: "Liters Fueled up", value: liters, onFocus: () => liters ? setliters(liters.includes(" km") ? liters.replace(" km", "") : liters) : null, onBlur: () => liters ? setliters(liters + " L") : null, onChangeText: (val) => setliters(val) } ]}/> Save Tracker ); } const mapStateToProps = (state) => { return { app_theme: state.appThemeReducer.theme } } export default connect(mapStateToProps, null)(Tracker) // export default function Tracker(navigation) { // const [focus, setfocus] = useState(false); // const [activeInput, setActiveInput] = useState(false); // const [datepicker, setdatepicker] = useState(false); // const params = navigation.route ? navigation.route.params : null // const [date, setdate] = useState(null); // const [fueltype, setfueltype] = useState(null); // const [distance, setdistance] = useState(null); // const [liters, setliters] = useState(null); // const [update, setupdate] = useState(false); // if(params.edit && !update){ // setdate(params.edit.date) // setfueltype(params.edit.fueltype) // setdistance(params.edit.distance) // setliters(params.edit.liters) // setupdate(true) // } // // console.log(params); // const isFocused = (index) => { // return focus && activeInput == index // } // const DeleteTracker = async () => { // let TRACKS = await DB.get("tracker") // let tracks = TRACKS ? JSON.parse(TRACKS) : [] // let result = [] // for(var x=0;x { // let TRACKS = await DB.get("tracker") // let tracks = TRACKS ? JSON.parse(TRACKS) : [] // for(var x=0;x { // navigation.route.params?.reload(task) // navigation.navigation.goBack() // } // return ( // // { // setdate(selectedDate ? moment(selectedDate).format("DD MMM YYYY") : date != null ? date : null) // setdatepicker(false) // }} // onCancel={() => setdatepicker(false)} // /> // Alert.alert("Fuel Tracker", "Do you want to delete this fuel tracker?", // [{ // text: 'Cancel', // style: 'cancel', // },{ // text: 'OK', onPress: () => DeleteTracker() // },], // {cancelable: true} // )} style={{alignSelf: 'flex-end', right: 10}}> // // // } // /> // // // setdatepicker(true), // onChangeText: (val) => setdate(val) // }, // { // name: "Fuel Type", // value: fueltype, // disabled: true, // onClick: () => navigation.navigation.navigate("AddFuelType", {get: (val) => setfueltype(val)}) // }, // { // kb: "numeric", // name: "Distance Travelled", // icon: 'information-circle', // value: distance, // onChangeText: (val) => setdistance(val), // onFocus: () => distance ? setdistance(distance.includes(" km") ? distance.replace(" km", "") : distance) : null, // onBlur: () => distance ? setdistance(distance + " km") : null, // onIconClick: () => Alert.alert("Information", "To measure distance travelled, make sure to reset your trip meter every time you gas full tank.") // }, // { // kb: "numeric", // name: "Liters Fueled up", // value: liters, // onFocus: () => liters ? setliters(liters.includes(" km") ? liters.replace(" km", "") : liters) : null, // onBlur: () => liters ? setliters(liters + " L") : null, // onChangeText: (val) => setliters(val) // } // ]} // /> // // // Save Tracker // // // {/* // { // setActiveInput(1) // setfocus(true) // setdatepicker(true) // }} // /> // navigation.navigation.navigate("AddFuelType")} // /> // { // setActiveInput(3) // setfocus(true) // distance ? setdistance(distance.includes(" km") ? distance.replace(" km", "") : distance) : null // }} // onBlur={() => distance ? setdistance(distance + " km") : null } // onShowInfo={() => { // setinfodialog(true) // }} // onChangeText={(value) => { // setdistance(value) // }} // /> // { // setActiveInput(4) // setfocus(true) // }} // onChangeText={(value) => { // setliters(value) // }} // /> // // Save Tracker // // */} // // ); // }