import { getIconByIconName } from "@/components/Icons/get-icon-by-icon-name"

import { getIconByPoiGroupAndCategory } from "../utils"
import { poiVariants } from "./variants"

import type { PoiMarkerProps } from "@/types/components/maps/poiMarker"

export default function PoiMarker({
  group,
  categoryName,
  skipBackground,
  size = 16,
  className = "",
}: PoiMarkerProps) {
  const iconName = getIconByPoiGroupAndCategory(group, categoryName)
  const Icon = iconName ? getIconByIconName(iconName) : null
  const classNames = poiVariants({ group, skipBackground, className })

  return Icon ? (
    <span className={classNames}>
      <Icon
        color={skipBackground ? "grey80" : "white"}
        width={size}
        height={size}
      />
    </span>
  ) : null
}
