import { Dimensions, Image, Linking, Platform, Pressable, StyleSheet, Text, View } from 'react-native' import React from 'react' import GlobalApi from '@/app/misc/GlobalApi' import AntDesign from '@expo/vector-icons/AntDesign'; import MaterialCommunityIcons from '@expo/vector-icons/MaterialCommunityIcons'; import { getFirestore } from "firebase/firestore"; import { app } from "../../misc/FirebaseConfig"; import { doc, setDoc, deleteDoc} from "firebase/firestore"; import { useUser } from '@clerk/clerk-expo'; const ItemList = ({place, isSave, markedSave}) => { const placePhoto_Base_Url = 'https://places.googleapis.com/v1/' const {user} = useUser(); const db = getFirestore(app); const onSave = async(place) => { await setDoc(doc(db, 'ev-save', (place.id).toString()), { place: place, email: user?.primaryEmailAddress?.emailAddress }); markedSave(); }; const onRemoveSave = async(placeId) => { await deleteDoc(doc(db, 'ev-save', placeId.toString())); markedSave(); } const onStartClick = () => { const url = Platform.select({ ios: "maps:"+place?.location?.latitude+","+place?.location?.longitude+"?q="+place?.formattedAddress, }); Linking.openURL(url); } return ( {!isSave? onSave(place)} style={{position: 'absolute', zIndex: 20, right: 0, margin: 10, width: 40, height: 40, backgroundColor: '#379777', alignItems: 'center', justifyContent: 'center', borderRadius: '50%'}}> : onRemoveSave(place.id)} style={{position: 'absolute', zIndex: 20, right: 0, margin: 10, width: 40, height: 40, backgroundColor: '#379777', alignItems: 'center', justifyContent: 'center', borderRadius: '50%'}}> } {place.displayName.text} Total chargers: {place?.evChargeOptions?.connectorCount} {place?.formattedAddress} onStartClick()} style={{backgroundColor: '#379777', alignItems: 'center', justifyContent: 'center', padding: 5, marginTop: 10, borderRadius: 5}}> Start ) } export default ItemList const styles = StyleSheet.create({})