import { ViewWrapper, DrawerCustom, DummyLandscapeImage, Spacing, StackCustom, TextCustom, Grid, ButtonCustom, } from "@/components"; import GridTwoView from "@/components/_ShareComponent/GridTwoView"; import API_IMAGE from "@/constants/api-storage"; import { ICON_SIZE_SMALL } from "@/constants/constans-value"; import { apiMapsGetAll } from "@/service/api-client/api-maps"; import { openInDeviceMaps } from "@/utils/openInDeviceMaps"; import { FontAwesome, Ionicons } from "@expo/vector-icons"; import { Image } from "expo-image"; import { useFocusEffect, router } from "expo-router"; import { useState, useCallback } from "react"; import { View } from "react-native"; import MapView, { Marker } from "react-native-maps"; const defaultRegion = { latitude: -8.737109, longitude: 115.1756897, latitudeDelta: 0.1, longitudeDelta: 0.1, height: 300, }; export default function MapsView() { const [list, setList] = useState(null); const [loadList, setLoadList] = useState(false); const [openDrawer, setOpenDrawer] = useState(false); const [selected, setSelected] = useState({ id: "", bidangBisnis: "", nomorTelepon: "", alamatBisnis: "", namePin: "", imageId: "", portofolioId: "", latitude: 0, longitude: 0, }); useFocusEffect( useCallback(() => { handlerLoadList(); }, []) ); const handlerLoadList = async () => { try { setLoadList(true); const response = await apiMapsGetAll(); if (response.success) { setList(response.data); } } catch (error) { console.log("[ERROR]", error); } finally { setLoadList(false); } }; return ( <> {/* */} {loadList ? ( ) : ( {list?.map((item: any, index: number) => { return ( { setOpenDrawer(true); setSelected({ id: item?.id, bidangBisnis: item?.Portofolio?.MasterBidangBisnis?.name, nomorTelepon: item?.Portofolio?.tlpn, alamatBisnis: item?.Portofolio?.alamatKantor, namePin: item?.namePin, imageId: item?.imageId, portofolioId: item?.Portofolio?.id, latitude: item?.latitude, longitude: item?.longitude, }); }} // Gunakan gambar kustom jika tersedia > ); })} )} setOpenDrawer(false)} height={"auto"} > } rightIcon={{selected.namePin}} /> } rightIcon={{selected.bidangBisnis}} /> } rightIcon={{selected.nomorTelepon}} /> } rightIcon={{selected.alamatBisnis}} /> { setOpenDrawer(false); router.push(`/portofolio/${selected.portofolioId}`); }} > Detail { openInDeviceMaps({ latitude: selected.latitude, longitude: selected.longitude, title: selected.namePin, }); }} > Buka Maps ); }