"use client"; import { AccentColor } from "@/app_modules/_global/color/color_pallet"; import CustomSkeleton from "@/app_modules/components/CustomSkeleton"; import { apiGetAllMap } from "@/app_modules/map/lib/api_map"; import { defaultLatLong, defaultMapZoom, } from "@/app_modules/map/lib/default_lat_long"; import { IDataMap } from "@/app_modules/map/lib/type_map"; import { APIs } from "@/lib"; import { Avatar, Stack } from "@mantine/core"; import { useShallowEffect } from "@mantine/hooks"; import "mapbox-gl/dist/mapbox-gl.css"; import { useState } from "react"; import Map, { AttributionControl, Marker, NavigationControl, ScaleControl, } from "react-map-gl"; import ComponentAdminGlobal_IsEmptyData from "../../_admin_global/is_empty_data"; import { ComponentAdminMap_Drawer } from "../component"; export function UiAdminMap_MapBoxView({ mapboxToken, }: { mapboxToken: string; }) { const [mapId, setMapId] = useState(""); const [openDrawer, setOpenDrawer] = useState(false); const [data, setData] = useState([]); const [loading, setLoading] = useState(false); useShallowEffect(() => { onLoadData(); }, []); async function onLoadData() { try { setLoading(true); const response = await apiGetAllMap(); if (response) { setData(response.data); } } catch (error) { console.error(error); } finally { setLoading(false); } } if (!mapboxToken) return ; return ( <> {loading ? ( ) : ( {data.map((e, i) => ( { setMapId(e.id); setOpenDrawer(true); }} > ))} )} setOpenDrawer(false)} mapId={mapId as any} /> ); }