import { useState, useEffect } from "react";
import { Poi } from "../../redux/types/Poi";
import { convertModeObjectToArray } from "../../utils/convertModeObjectToArray";
import { FaWalking } from "react-icons/fa";
import { AiFillCar } from "react-icons/ai";
import { Map, Marker } from "react-map-gl";
import ControlPanel from "./control-panel";
import pin from "../../assets/images/pin.png";

type DemographicsSectionProps = {
  selectedPoi: Poi;
};
const MapSection: React.FC<DemographicsSectionProps> = ({ selectedPoi }) => {
  const [mapStyle, setMapStyle] = useState<any>(null);

  return (
    <div
      style={{
        width: "100%",
        height: "100%",
      }}
    >
      <Map
        initialViewState={{
          latitude: selectedPoi.lat,
          longitude: selectedPoi.lng,
          zoom: 15.5,
        }}
        mapStyle={mapStyle && mapStyle.toJS()}
        styleDiffing
        mapboxAccessToken={
          "pk.eyJ1Ijoibm9lbm9sdWFsIiwiYSI6ImNsbXUwbGNvODA5a3Iya3Fmc202OHU2MW8ifQ.6h8Y00MzBQFDlYPtxw-_Bg"
        }
      >
        <Marker latitude={selectedPoi.lat} longitude={selectedPoi.lng}>
          {/* You can customize the pin marker here */}
          <img
            src={pin}
            alt="Custom Marker"
            width={40} // Adjust the width and height as needed
            height={40}
          />
        </Marker>
      </Map>
      <div
        style={{
          width: "12%",
          position: "absolute",
          top: "5%",
          left: "85%",
          padding: "1%",
          borderRadius: "10px",
          backgroundColor: "white",
          fontFamily: "airbnb_regular",
          border: "1px solid #3C3C3C",
        }}
      >
        <ControlPanel onChange={setMapStyle} />
      </div>
    </div>
  );
};

export default MapSection;
