import React from 'react'; import {useState, useEffect} from 'react'; import {SafeAreaView, View} from 'react-native'; import Theme from '../../components/theme.style.js'; import CustomHeader from '../../components/header.js'; import DB from '../../components/storage'; import REQUEST from '../../components/api'; import REQUEST_POST_PAY from '../../components/api/postpayapi'; import Elements from '../../components/elements'; import MapFragment from './fragments/map.js'; import PanelFragment from './fragments/stationdetailspanel.js'; export default function StationDetails(props){ const [loading, setloading] = useState(true) const [station, setstation] = useState(null) const [markers, setmarkers] = useState([]) const [initialRegion, setinitialRegion] = useState(null) const init = async () => { setmarkers(props.route.params?.markers) setinitialRegion({ latitude: props.route.params?.data.geoLocation.latitude, longitude: props.route.params?.data.geoLocation.longitude, latitudeDelta: 0.0922, longitudeDelta: 0.0421 }) getStationStoreDetails(props.route.params?.data.storeId) } const getStationStoreDetails = async (storeId) => { await REQUEST_POST_PAY("getStoreDetails", "get", {}, { storeId: storeId }, {}, async (response) => { setloading(false) if(response.success){ setstation(response.response) } }, (err) => { setloading(false) }) } useEffect(() => { init() }, []) const navigate = (data) => { props.navigation.navigate('PayatpumpStationDetails', {markers: markers, data: data, onBackPress: () => init()}) } const navigateToPayatpumpTransaction = (response, storeId, selectedPump) => { props.navigation.navigate('PayatpumpStationTransactionDetails', { response: response, storeId: storeId, storeName: station.storeName, selectedPump: selectedPump.pumpNumber }) } return ( { props.route.params?.onBackPress() props.navigation.goBack() }} navigation={props.navigation}/> navigate(data)} onMapReady={() => {}} onMarkerClick={(data) => navigate(data)} pinSelected={true}/> init()} onTransaction={(response, storeId, selectedPump) => navigateToPayatpumpTransaction(response, storeId, selectedPump)} lat={props.route.params?.location.latitude} lon={props.route.params?.location.longitude}/> ) }