import React from 'react'; import {useState, useEffect} from 'react'; import {SafeAreaView, ScrollView, StyleSheet, Text, View, Dimensions, Button, Image, TextInput, TouchableOpacity, ActivityIndicator, Platform} 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 Elements from '../../../components/elements'; import Geolocation from '@react-native-community/geolocation'; import SlidingUpPanel from 'rn-sliding-up-panel'; import MapView, { PROVIDER_GOOGLE, Marker } from 'react-native-maps'; import MapFragment from './fragments/map.js'; import PanelFragment from './fragments/stationdetailspanel.js'; import CustomSafeArea from '../../../components/safeArea.component.js'; export default function StationDetails(navigation){ const [loading, setloading] = useState(true) const [station, setstation] = useState({ contact_numbers: [], name: '', fuel_prices: [], address: '', stars: 0 }) const [markers, setmarkers] = useState([]) const [initialRegion, setinitialRegion] = useState(null) const init = async () => { setmarkers(navigation.route.params?.markers) setinitialRegion({ latitude: navigation.route.params?.data.latitude, longitude: navigation.route.params?.data.longitude, latitudeDelta: 0.0922, longitudeDelta: 0.0421 }) getStationDetails(navigation.route.params?.data.station_uuid) } const getStationDetails = async (uuid) => { const SESSION = await DB.session() console.log("TOKEN", SESSION.token, uuid) await REQUEST("gas_station_fuel", "get", {Authorization: SESSION.token}, {noID: true, value: uuid}, {}, async (res) => { setloading(false) if(res.status == 1){ setstation(res.data) } }, (err) => { setloading(false) console.log(err) }) } useEffect(() => { init() }, []) const navigate = (data) => { navigation.navigation.navigate('StationDetails', {markers: markers, data: data, onBackPress: () => init()}) } return ( { navigation.route.params?.onBackPress() navigation.navigation.goBack() }} navigation={navigation}/> navigate(data)} onMapReady={() => init()} onMarkerClick={(data) => navigate(data)} pinSelected={true} /> init()} lat={navigation.route.params?.location.latitude} lon={navigation.route.params?.location.longitude} /> ) }