Feat/LOY-354 L7 Progress Card * feat(LOY-354): Add Trophy icon * fix(LOY-354): include new tierPoints value * feat(LOY-354): L7 Progress Level Card support * refactor(LOY-354): Refactoring of component structure * fix(LOY-354): Remove intl prop drilling * fix(LOY-354): cleanup progress section code Approved-by: Erik Tiekstra
372 lines
15 KiB
TypeScript
372 lines
15 KiB
TypeScript
import BathroomCabinetIcon from './Nucleo/Amenities_Facilities/bathroom-cabinet-2'
|
|
import BouquetIcon from './Nucleo/Benefits/bouquet'
|
|
import BowlingPinsIcon from './Nucleo/Experiences/bowling-pins'
|
|
import ChipsIcon from './Nucleo/Food/chips-3'
|
|
import ConferenceRoomIcon from './Nucleo/Amenities_Facilities/conference-room'
|
|
import DoorIcon from './Nucleo/Amenities_Facilities/door-2'
|
|
import FacebookIcon from './Customised/Socials/Facebook'
|
|
import FootStoolIcon from './Customised/Amenities_Facilities/FootStool'
|
|
import HairdresserIcon from './Nucleo/Amenities_Facilities/hairdresser-1'
|
|
import HairdryerIcon from './Customised/Amenities_Facilities/Hairdryer'
|
|
import IceMachineIcon from './Customised/Amenities_Facilities/IceMachine'
|
|
import InstagramIcon from './Customised/Socials/Instagram'
|
|
import MassageIcon from './Customised/Amenities_Facilities/Massage'
|
|
import { MaterialIcon, type MaterialIconSetIconProps } from './MaterialIcon'
|
|
import PalmTreeIcon from './Nucleo/Experiences/palm-tree-2'
|
|
import PopcornIcon from './Nucleo/Food/popcorn-2'
|
|
import RecordPlayerIcon from './Nucleo/Amenities_Facilities/record-player-3'
|
|
import RoadIcon from './Customised/Amenities_Facilities/Road'
|
|
import SafetyBoxIcon from './Customised/Amenities_Facilities/SafetyBox'
|
|
import ToiletIcon from './Nucleo/Amenities_Facilities/toilet-2'
|
|
import TripadvisorIcon from './Customised/Socials/Tripadvisor'
|
|
import UserPoliceIcon from './Nucleo/Amenities_Facilities/user-police-2'
|
|
|
|
import { IconName } from './iconName'
|
|
|
|
import type { IconProps, NucleoIconProps } from './icon'
|
|
import type { JSX } from 'react'
|
|
|
|
interface IconByIconNameProps {
|
|
iconName: IconName | null
|
|
}
|
|
export function IconByIconName({
|
|
iconName,
|
|
...props
|
|
}: IconByIconNameProps &
|
|
(
|
|
| IconProps
|
|
| NucleoIconProps
|
|
| MaterialIconSetIconProps
|
|
)): JSX.Element | null {
|
|
switch (iconName) {
|
|
case IconName.Accessibility:
|
|
return <MaterialIcon icon="accessibility" {...props} />
|
|
case IconName.Air:
|
|
return <MaterialIcon icon="air" {...props} />
|
|
case IconName.ArrowFrom:
|
|
return <MaterialIcon icon="upload" {...props} />
|
|
case IconName.ArrowTo:
|
|
return <MaterialIcon icon="download" {...props} />
|
|
case IconName.AwardStar:
|
|
return <MaterialIcon icon="award_star" {...props} />
|
|
case IconName.Swipe:
|
|
return <MaterialIcon icon="swipe" {...props} />
|
|
case IconName.ConferenceRoom:
|
|
return <ConferenceRoomIcon {...props} />
|
|
case IconName.BathroomCabinet:
|
|
return <BathroomCabinetIcon {...props} />
|
|
case IconName.Chips:
|
|
return <ChipsIcon {...props} />
|
|
case IconName.Bouquet:
|
|
return <BouquetIcon {...props} />
|
|
case IconName.CashFree:
|
|
return <MaterialIcon icon="credit_card_heart" {...props} />
|
|
case IconName.SafetyBox:
|
|
return <SafetyBoxIcon {...props} />
|
|
case IconName.Toilet:
|
|
return <ToiletIcon {...props} />
|
|
case IconName.Popcorn:
|
|
return <PopcornIcon {...props} />
|
|
case IconName.RecordPlayer:
|
|
return <RecordPlayerIcon {...props} />
|
|
case IconName.PalmTree:
|
|
return <PalmTreeIcon {...props} />
|
|
case IconName.Bowling:
|
|
return <BowlingPinsIcon {...props} />
|
|
case IconName.Skiing:
|
|
return <MaterialIcon icon="downhill_skiing" {...props} />
|
|
case IconName.AirConAirCooling:
|
|
return <MaterialIcon icon="mode_fan" {...props} />
|
|
case IconName.Beach:
|
|
return <MaterialIcon icon="beach_access" {...props} />
|
|
case IconName.Hiking:
|
|
return <MaterialIcon icon="hiking" {...props} />
|
|
case IconName.LaptopSafe:
|
|
return <MaterialIcon icon="sync_saved_locally" {...props} />
|
|
case IconName.BeautySalon:
|
|
return <MaterialIcon icon="health_and_beauty" {...props} />
|
|
case IconName.Gaming:
|
|
return <MaterialIcon icon="sports_esports" {...props} />
|
|
case IconName.AirConditioningInRoom:
|
|
return <MaterialIcon icon="air_purifier_gen" {...props} />
|
|
case IconName.Airplane:
|
|
return <MaterialIcon icon="travel" {...props} />
|
|
case IconName.ArmChair:
|
|
return <MaterialIcon icon="chair" {...props} />
|
|
case IconName.ArrowRight:
|
|
return <MaterialIcon icon="arrow_forward" {...props} />
|
|
case IconName.ArrowRightSmall:
|
|
return <MaterialIcon icon="arrow_forward" {...props} />
|
|
case IconName.ArrowLeft:
|
|
return <MaterialIcon icon="arrow_back" {...props} />
|
|
case IconName.ArrowLeftSmall:
|
|
return <MaterialIcon icon="arrow_back" {...props} />
|
|
case IconName.Bar:
|
|
return <MaterialIcon icon="local_bar" {...props} />
|
|
case IconName.Bed:
|
|
return <MaterialIcon icon="bed" {...props} />
|
|
case IconName.LuggageLockers:
|
|
return <DoorIcon {...props} />
|
|
case IconName.NonSmoking:
|
|
return <MaterialIcon icon="smoke_free" {...props} />
|
|
case IconName.TVRemote:
|
|
return <MaterialIcon icon="tv_remote" {...props} />
|
|
case IconName.Minibar:
|
|
return <MaterialIcon icon="liquor" {...props} />
|
|
case IconName.Business:
|
|
case IconName.BusinessCentre:
|
|
return <MaterialIcon icon="business_center" {...props} />
|
|
case IconName.IceMachine:
|
|
return <IceMachineIcon {...props} />
|
|
case IconName.Massage:
|
|
return <MassageIcon {...props} />
|
|
case IconName.Luggage:
|
|
return <MaterialIcon icon="luggage" {...props} />
|
|
case IconName.Ironing:
|
|
return <MaterialIcon icon="iron" {...props} />
|
|
case IconName.Kitchen:
|
|
return <MaterialIcon icon="countertops" {...props} />
|
|
case IconName.Guard:
|
|
return <UserPoliceIcon {...props} />
|
|
case IconName.Fax:
|
|
return <MaterialIcon icon="fax" {...props} />
|
|
case IconName.Calendar:
|
|
return <MaterialIcon icon="calendar_today" {...props} />
|
|
case IconName.Camera:
|
|
return <MaterialIcon icon="photo_camera" {...props} />
|
|
case IconName.Cellphone:
|
|
case IconName.Phone:
|
|
return <MaterialIcon icon="phone" {...props} />
|
|
case IconName.HairdryerInRoomAllScandic:
|
|
return <HairdryerIcon {...props} />
|
|
case IconName.ComplimentaryColdRefreshments:
|
|
return <MaterialIcon icon="water_full" {...props} />
|
|
case IconName.Check:
|
|
return <MaterialIcon icon="check_box" {...props} />
|
|
case IconName.CrossCircle:
|
|
return <MaterialIcon icon="cancel" {...props} />
|
|
case IconName.Wheelchair:
|
|
return <MaterialIcon icon="accessible" {...props} />
|
|
case IconName.Hairdresser:
|
|
return <HairdresserIcon {...props} />
|
|
case IconName.FoodDrinks247:
|
|
return <MaterialIcon icon="fastfood" {...props} />
|
|
case IconName.ExtraFamilyFriendly:
|
|
return <MaterialIcon icon="family_restroom" {...props} />
|
|
case IconName.Desk:
|
|
return <MaterialIcon icon="desk" {...props} />
|
|
case IconName.ConventionCentre:
|
|
return <MaterialIcon icon="groups" {...props} />
|
|
case IconName.City:
|
|
return <MaterialIcon icon="location_city" {...props} />
|
|
case IconName.CrossCircleOutline:
|
|
return <MaterialIcon icon="cancel" {...props} />
|
|
case IconName.CheckCircle:
|
|
return <MaterialIcon icon="check_circle" {...props} />
|
|
case IconName.ChevronDown:
|
|
return <MaterialIcon icon="keyboard_arrow_down" {...props} />
|
|
case IconName.ChevronDownSmall:
|
|
return <MaterialIcon icon="keyboard_arrow_down" {...props} />
|
|
case IconName.ChevronLeft:
|
|
return <MaterialIcon icon="chevron_left" {...props} />
|
|
case IconName.ChevronLeftSmall:
|
|
return <MaterialIcon icon="chevron_left" {...props} />
|
|
case IconName.ChevronRight:
|
|
return <MaterialIcon icon="chevron_right" {...props} />
|
|
case IconName.ChevronRightSmall:
|
|
return <MaterialIcon icon="chevron_right" {...props} />
|
|
case IconName.ChevronUp:
|
|
return <MaterialIcon icon="keyboard_arrow_up" {...props} />
|
|
case IconName.ChevronUpSmall:
|
|
return <MaterialIcon icon="keyboard_arrow_up" {...props} />
|
|
case IconName.Close:
|
|
return <MaterialIcon icon="close" {...props} />
|
|
case IconName.CloseLarge:
|
|
return <MaterialIcon icon="close" {...props} />
|
|
case IconName.ConvenienceStore24h:
|
|
return <MaterialIcon icon="local_convenience_store" {...props} />
|
|
case IconName.CoffeeAlt:
|
|
case IconName.CoffeeInReceptionAtCharge:
|
|
return <MaterialIcon icon="coffee" {...props} />
|
|
case IconName.Concierge:
|
|
return <MaterialIcon icon="concierge" {...props} />
|
|
case IconName.Cultural:
|
|
return <MaterialIcon icon="theater_comedy" {...props} />
|
|
case IconName.Diamond:
|
|
return <MaterialIcon icon="diamond" {...props} />
|
|
case IconName.Directions:
|
|
return <MaterialIcon icon="directions" {...props} />
|
|
case IconName.DoorOpen:
|
|
return <MaterialIcon icon="meeting_room" {...props} />
|
|
case IconName.Dresser:
|
|
return <MaterialIcon icon="dresser" {...props} />
|
|
case IconName.ElectricBike:
|
|
return <MaterialIcon icon="electric_bike" {...props} />
|
|
case IconName.ElectricCar:
|
|
return <MaterialIcon icon="electric_car" {...props} />
|
|
case IconName.Email:
|
|
return <MaterialIcon icon="mail" {...props} />
|
|
case IconName.EyeHide:
|
|
return <MaterialIcon icon="visibility_off" {...props} />
|
|
case IconName.EyeShow:
|
|
return <MaterialIcon icon="visibility" {...props} />
|
|
case IconName.Fan:
|
|
return <MaterialIcon icon="mode_fan" {...props} />
|
|
case IconName.Facebook:
|
|
return <FacebookIcon {...props} />
|
|
case IconName.Fitness:
|
|
return <MaterialIcon icon="exercise" {...props} />
|
|
case IconName.Footstool:
|
|
return <FootStoolIcon {...props} />
|
|
case IconName.Gallery:
|
|
return <MaterialIcon icon="filter" {...props} />
|
|
case IconName.Garage:
|
|
return <MaterialIcon icon="garage" {...props} />
|
|
case IconName.Gift:
|
|
return <MaterialIcon icon="featured_seasonal_and_gifts" {...props} />
|
|
case IconName.Theatre:
|
|
return <MaterialIcon icon="theater_comedy" {...props} />
|
|
case IconName.Sports:
|
|
return <MaterialIcon icon="sports_tennis" {...props} />
|
|
case IconName.Bike:
|
|
return <MaterialIcon icon="pedal_bike" {...props} />
|
|
case IconName.Globe:
|
|
return <MaterialIcon icon="globe" {...props} />
|
|
case IconName.Golf:
|
|
return <MaterialIcon icon="sports_golf" {...props} />
|
|
case IconName.Dining:
|
|
return <MaterialIcon icon="dining" {...props} />
|
|
case IconName.Hanger:
|
|
return <MaterialIcon icon="checkroom" {...props} />
|
|
case IconName.HangerAlt:
|
|
return <MaterialIcon icon="styler" {...props} />
|
|
case IconName.Heat:
|
|
return <MaterialIcon icon="heat" {...props} />
|
|
case IconName.Heart:
|
|
return <MaterialIcon icon="favorite" {...props} />
|
|
case IconName.House:
|
|
return <MaterialIcon icon="home" {...props} />
|
|
case IconName.Houseboat:
|
|
return <MaterialIcon icon="houseboat" {...props} />
|
|
case IconName.Image:
|
|
return <MaterialIcon icon="imagesmode" {...props} />
|
|
case IconName.InfoCircle:
|
|
return <MaterialIcon icon="info" {...props} />
|
|
case IconName.Instagram:
|
|
return <InstagramIcon {...props} />
|
|
case IconName.Kayaking:
|
|
return <MaterialIcon icon="kayaking" {...props} />
|
|
case IconName.Kettle:
|
|
return <MaterialIcon icon="kettle" {...props} />
|
|
case IconName.Landscape:
|
|
return <MaterialIcon icon="landscape" {...props} />
|
|
case IconName.Lamp:
|
|
return <MaterialIcon icon="floor_lamp" {...props} />
|
|
case IconName.LaundryMachine:
|
|
return <MaterialIcon icon="local_laundry_service" {...props} />
|
|
case IconName.Link:
|
|
return <MaterialIcon icon="link" {...props} />
|
|
case IconName.LocalBar:
|
|
return <MaterialIcon icon="local_bar" {...props} />
|
|
case IconName.Location:
|
|
return <MaterialIcon icon="location_on" {...props} />
|
|
case IconName.Lock:
|
|
return <MaterialIcon icon="lock" {...props} />
|
|
case IconName.Map:
|
|
return <MaterialIcon icon="map" {...props} />
|
|
case IconName.Minus:
|
|
return <MaterialIcon icon="remove" {...props} />
|
|
case IconName.Museum:
|
|
return <MaterialIcon icon="museum" {...props} />
|
|
case IconName.Nature:
|
|
return <MaterialIcon icon="nature" {...props} />
|
|
case IconName.Nightlife:
|
|
return <MaterialIcon icon="nightlife" {...props} />
|
|
case IconName.NightShelter:
|
|
return <MaterialIcon icon="night_shelter" {...props} />
|
|
case IconName.NoSmoking:
|
|
return <MaterialIcon icon="smoke_free" {...props} />
|
|
case IconName.OpenInNew:
|
|
return <MaterialIcon icon="open_in_new" {...props} />
|
|
case IconName.OpenInNewSmall:
|
|
return <MaterialIcon icon="open_in_new" {...props} />
|
|
case IconName.OutdoorFurniture:
|
|
case IconName.Deck:
|
|
return <MaterialIcon icon="deck" {...props} />
|
|
case IconName.Parking:
|
|
return <MaterialIcon icon="local_parking" {...props} />
|
|
case IconName.Person:
|
|
return <MaterialIcon icon="person" {...props} />
|
|
case IconName.ParkingOutdoor:
|
|
return <MaterialIcon icon="emoji_transportation" {...props} />
|
|
case IconName.Pets:
|
|
return <MaterialIcon icon="pets" {...props} />
|
|
case IconName.Plus:
|
|
return <MaterialIcon icon="add" {...props} />
|
|
case IconName.PlusCircle:
|
|
return <MaterialIcon icon="add_circle" {...props} />
|
|
case IconName.PriceTag:
|
|
return <MaterialIcon icon="sell" {...props} />
|
|
case IconName.Restaurant:
|
|
return <MaterialIcon icon="restaurant" {...props} />
|
|
case IconName.RoomService:
|
|
return <MaterialIcon icon="room_service" {...props} />
|
|
case IconName.Smoking:
|
|
return <MaterialIcon icon="smoking_rooms" {...props} />
|
|
case IconName.Spa:
|
|
return <MaterialIcon icon="spa" {...props} />
|
|
case IconName.Sauna:
|
|
return <MaterialIcon icon="sauna" {...props} />
|
|
case IconName.Search:
|
|
return <MaterialIcon icon="search" {...props} />
|
|
case IconName.Service:
|
|
return <MaterialIcon icon="call_quality" {...props} />
|
|
case IconName.Elevator:
|
|
return <MaterialIcon icon="elevator" {...props} />
|
|
case IconName.Shopping:
|
|
return <MaterialIcon icon="shopping_bag" {...props} />
|
|
case IconName.Skateboarding:
|
|
return <MaterialIcon icon="skateboarding" {...props} />
|
|
case IconName.Snowflake:
|
|
return <MaterialIcon icon="asterisk" {...props} />
|
|
case IconName.Star:
|
|
return <MaterialIcon icon="star" {...props} />
|
|
case IconName.StarFilled:
|
|
return <MaterialIcon icon="star" isFilled {...props} />
|
|
case IconName.Street:
|
|
return <RoadIcon {...props} />
|
|
case IconName.Swim:
|
|
return <MaterialIcon icon="pool" {...props} />
|
|
case IconName.Ticket:
|
|
return <MaterialIcon icon="transit_ticket" {...props} />
|
|
case IconName.Thermostat:
|
|
return <MaterialIcon icon="device_thermostat" {...props} />
|
|
case IconName.Tshirt:
|
|
return <MaterialIcon icon="apparel" {...props} />
|
|
case IconName.Train:
|
|
return <MaterialIcon icon="train" {...props} />
|
|
case IconName.Tripadvisor:
|
|
return <TripadvisorIcon {...props} />
|
|
case IconName.Trophy:
|
|
return <MaterialIcon icon="trophy" {...props} />
|
|
case IconName.TshirtWash:
|
|
return <MaterialIcon icon="laundry" {...props} />
|
|
case IconName.TvCasting:
|
|
return <MaterialIcon icon="connected_tv" {...props} />
|
|
case IconName.WarningTriangle:
|
|
return <MaterialIcon icon="warning" {...props} />
|
|
case IconName.Wifi:
|
|
return <MaterialIcon icon="wifi" {...props} />
|
|
case IconName.Breakfast:
|
|
return <MaterialIcon icon="bakery_dining" {...props} />
|
|
case IconName.Jacuzzi:
|
|
return <MaterialIcon icon="hot_tub" {...props} />
|
|
case IconName.DirectDial:
|
|
return <MaterialIcon icon="call" {...props} />
|
|
case IconName.CoffeeShop:
|
|
return <MaterialIcon icon="local_cafe" {...props} />
|
|
default:
|
|
return null
|
|
}
|
|
}
|