import * as React from 'react'; import { useState } from 'react'; import { connect } from "react-redux"; import { TouchableOpacity, View, Text, Alert } from 'react-native'; import { openModal } from '../../redux/actions/AlertActions.js'; import CustomHeader from '../../components/header.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 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 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 { const taskToShow = `Fuel Efficiency tracker ${task}` navigation.route.params?.reload(); navigation.openModal({ open: true, title: "Tracker", body: taskToShow, yesCB: () => navigation.navigation.goBack(), yesText: "Okay", yesButtonOnly: true, theme: navigation.app_theme }) } return ( { setdate(selectedDate ? moment(selectedDate).format("DD MMM YYYY") : date != null ? date : null) setdatepicker(false) }} onCancel={() => setdatepicker(false)}/> navigation.openModal({ open: true, title: "Fuel Tracker", body: "Do you want to delete this fuel tracker?", yesCB: DeleteTracker, theme: navigation.app_theme }) } 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: 'ios-information-circle-outline', 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 } } const mapDispatchToProps = { openModal } export default connect(mapStateToProps, mapDispatchToProps)(Tracker)