import BouquetIcon from "@scandic-hotels/design-system/Icons/BouquetIcon"
import DiscountIcon from "@scandic-hotels/design-system/Icons/DiscountIcon"
import {
  MaterialIcon,
  type MaterialIconProps,
} from "@scandic-hotels/design-system/Icons/MaterialIcon"
import PalmTreeIcon from "@scandic-hotels/design-system/Icons/PalmTreeIcon"

interface FilterIconProps {
  identifier: string
}

export default function FilterIcon({ identifier }: FilterIconProps) {
  switch (identifier) {
    // These are custom icons
    case "discount-2-2":
      return <DiscountIcon size={24} color="CurrentColor" />
    case "bouquet":
      return <BouquetIcon size={24} color="CurrentColor" />
    case "palm_tree":
      return <PalmTreeIcon size={24} color="CurrentColor" />

    // These are all Material Icons
    case "electric_car":
    case "golf_course":
    case "museum":
    case "spa":
    case "airplane_ticket":
    case "apartment":
    case "attractions":
    case "award_star":
    case "beach_access":
    case "box":
    case "deck":
    case "directions_run":
    case "directions_subway":
    case "downhill_skiing":
    case "emoji_transportation":
    case "exercise":
    case "family_restroom":
    case "festival":
    case "forest":
    case "garage":
    case "hiking":
    case "houseboat":
    case "kayaking":
    case "landscape":
    case "location_city":
    case "location_on":
    case "loyalty":
    case "music_note":
    case "night_shelter":
    case "nightlife":
    case "pedal_bike":
    case "pets":
    case "pool":
    case "recommend":
    case "redeem":
    case "restaurant":
    case "sauna":
    case "sell":
    case "shopping_bag":
    case "sports_handball":
    case "sports_tennis":
    case "theater_comedy":
    case "things_to_do":
    case "tram":
    case "transit_ticket":
    case "travel":
    case "travel_luggage_and_bags":
    case "favorite":
      return (
        <MaterialIcon
          icon={identifier as MaterialIconProps["icon"]}
          color="CurrentColor"
        />
      )
    default:
      return <MaterialIcon icon="favorite" color="CurrentColor" />
  }
}
