import { ButtonCustom, DrawerCustom, DummyLandscapeImage, Grid, Spacing, StackCustom, TextCustom, ViewWrapper, } from "@/components"; import GridTwoView from "@/components/_ShareComponent/GridTwoView"; import { MapMarker, MapsV2Custom } from "@/components/Map/MapsV2Custom"; 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 { router, useFocusEffect } from "expo-router"; import { useCallback, useState } from "react"; export default function AdminMaps() { 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); } }; const markers: MapMarker[] = list?.map((item) => ({ id: item.id, coordinate: [item.longitude, item.latitude] as [number, number], imageId: item.Portofolio?.logoId, onSelected: () => { 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, }); }, })) || []; return ( <> setOpenDrawer(false)} height={"auto"} > {selected.imageId && ( )} } rightItem={{selected.namePin}} /> } rightItem={{selected.bidangBisnis}} /> } rightItem={+{selected.nomorTelepon}} /> } rightItem={{selected.alamatBisnis}} /> { setOpenDrawer(false); router.push(`/portofolio/${selected.portofolioId}`); }} > Detail { openInDeviceMaps({ latitude: selected.latitude, longitude: selected.longitude, title: selected.namePin, }); }} > Buka Maps ); }