import { IconProp } from '@fortawesome/fontawesome-svg-core'; import { faShopify } from '@fortawesome/free-brands-svg-icons'; import { IconLookup, faBasketball, faBicycle, faBowlFood, faBus, faCameraRetro, faCar, faCartShopping, faFilm, faFootball, faFutbol, faHockeyPuck, faHospital, faHotel, faHouse, faLandmark, faMasksTheater, faMugSaucer, faPersonHiking, faPlane, faSchool, faShirt, faShop, faSquareParking, faStar, faTrainSubway, faTree, faUtensils, faVolleyball } from '@fortawesome/free-solid-svg-icons'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import React = require('react'); export type MapboxColor = 'yellow' | 'red' | 'orange' | 'purple' | 'pink' | 'blue' | 'green'; type ColorProperties = { fill: string, stroke: string } type ColorsMap = { [key in MapboxColor]: ColorProperties; } export class MarkerIcons { static getMapboxIcon = (color: string) => { return ( ) } static getFontAwesomeIcon(key: string, color?: string): JSX.Element | undefined { const icon: IconProp = MarkerIcons.FAMarkerIconsMap[key]; if (icon) { const iconProps: any = { icon }; if (color) { iconProps.color = color; } return (); } return undefined; } static FAMarkerIconsMap: {[key: string]: IconProp} = { 'RESTAURANT_ICON': faUtensils, 'HOTEL_ICON': faHotel, 'HOUSE_ICON': faHouse, 'AIRPLANE_ICON': faPlane, 'CAR_ICON': faCar, 'BUS_ICON': faBus, 'TRAIN_ICON': faTrainSubway, 'BICYCLE_ICON': faBicycle, 'PARKING_ICON': faSquareParking, 'PHOTO_ICON': faCameraRetro, 'CAFE_ICON': faMugSaucer, 'STAR_ICON': faStar, 'SHOPPING_CART_ICON': faCartShopping, 'SHOPIFY_ICON': faShopify, 'SHOP_ICON': faShop, 'SHIRT_ICON': faShirt, 'FOOD_ICON': faBowlFood, 'LANDMARK_ICON': faLandmark, 'HOSPITAL_ICON': faHospital, 'NATURE_ICON': faTree, 'HIKING_ICON': faPersonHiking, 'SOCCER_ICON': faFutbol, 'VOLLEYBALL_ICON': faVolleyball, 'BASKETBALL_ICON': faBasketball, 'HOCKEY_ICON': faHockeyPuck, 'FOOTBALL_ICON': faFootball, 'SCHOOL_ICON': faSchool, 'THEATER_ICON': faMasksTheater, 'FILM_ICON': faFilm } }