feat(SW-938) added normalizedName

This commit is contained in:
Pontus Dreij
2024-11-22 10:41:07 +01:00
parent 1f32f77846
commit ff5859fad1

View File

@@ -70,163 +70,171 @@ import { IconProps } from "@/types/components/icon"
export function getFacilityIcon(
name: string | undefined
): FC<IconProps> | null {
if (!name) return HeartIcon
if (!name) {
return HeartIcon
}
const normalizedName = name.toLowerCase()
const iconMappings = [
{ icon: AcIcon, name: ["AirCondition"] },
{ icon: AirplaneIcon, name: ["Airport"] },
{ icon: BalconyIcon, name: ["Balcony"] },
{ icon: BalconyIcon, name: ["BalconyOrTerrace"] },
{ icon: BalconyIcon, name: ["FrenchBalcony"] },
{ icon: BathtubIcon, name: ["BathroomWithBathtub"] },
{ icon: BathtubIcon, name: ["BathroomWithShowerAndBathtub"] },
{ icon: BathtubIcon, name: ["BathroomWithShowerOrBathtub"] },
{ icon: BedDoubleIcon, name: ["AdjustableBeds"] },
{ icon: BedDoubleIcon, name: ["SetOfTwoPillows"] },
{ icon: BedHotelIcon, name: ["ArmchairBed"] },
{ icon: BedHotelIcon, name: ["PullOutBed"] },
{ icon: BedroomParentIcon, name: ["SeparateBedroom"] },
{ icon: BedSingleIcon, name: ["ExtraBed"] },
{ icon: BikeIcon, name: ["BikeForLoan"] },
{ icon: BreakfastIcon, name: ["Breakfast"] },
{ icon: BreakfastIcon, name: ["ServesBreakfastAlwaysIncluded"] },
{ icon: BusinessIcon, name: ["MeetingConferenceFacilities"] },
{ icon: BusinessIcon, name: ["Meetingrooms"] },
{ icon: CableIcon, name: ["InternetWithCableInTheRoom"] },
{ icon: ChairIcon, name: ["Armchair"] },
{ icon: ChairIcon, name: ["ConnectingRooms"] },
{ icon: CityIcon, name: ["ViewCityView"] },
{ icon: CoffeeAltIcon, name: ["NespressoMachine"] },
{ icon: CoffeeIcon, name: ["Café"] },
{ icon: CoffeeIcon, name: ["Coffee"] },
{ icon: CoffeeMakerIcon, name: ["CoffeeMachine"] },
{ icon: ConciergeIcon, name: ["LifestyleConcierge"] },
{ icon: CoolIcon, name: ["AirCooling"] },
{ icon: CoolIcon, name: ["Cooler"] },
{ icon: CoolIcon, name: ["CoolingCabinet"] },
{ icon: DeskIcon, name: ["DeskAndChair"] },
{ icon: DiningIcon, name: ["DiningArea"] },
{ icon: DiningIcon, name: ["TableForDining"] },
{ icon: ElectricBikeIcon, name: ["EBikesChargingStation"] },
{ icon: FamilyIcon, name: ["ExtraFamilyFriendly"] },
{ icon: FitnessIcon, name: ["Gym"] },
{ icon: FootstoolIcon, name: ["FootStool"] },
{ icon: HairdryerIcon, name: ["Hairdryer"] },
{ icon: HandSoapIcon, name: ["Toiletries"] },
{ icon: HealthBeautyIcon, name: ["BeautySalon"] },
{ icon: HeartIcon, name: ["Bathrobes"] },
{ icon: HeartIcon, name: ["Bathroom2SeparateBathrooms"] },
{ icon: HeartIcon, name: ["BodyCareProducts"] },
{ icon: HeartIcon, name: ["BodyLotion"] },
{ icon: HeartIcon, name: ["Bowling"] },
{ icon: HeartIcon, name: ["BunkBed"] },
{ icon: HeartIcon, name: ["BunkBed80x188Cm"] },
{ icon: HeartIcon, name: ["CarpetingWallToWallCarpet"] },
{ icon: HeartIcon, name: ["CashFree800pmTill0600am"] },
{ icon: HeartIcon, name: ["CashFreeHotel"] },
{ icon: HeartIcon, name: ["CoffeeVoucher"] },
{ icon: HeartIcon, name: ["ComplimentaryColdRefreshments"] },
{ icon: HeartIcon, name: ["Conditioner"] },
{ icon: HeartIcon, name: ["ConventionCentre"] },
{ icon: HeartIcon, name: ["DisabledParking"] },
{ icon: HeartIcon, name: ["DockingStationForiPodiPad"] },
{ icon: HeartIcon, name: ["DryingCabinet"] },
{ icon: HeartIcon, name: ["EasyAccess"] },
{ icon: HeartIcon, name: ["GarmentSteamer"] },
{ icon: HeartIcon, name: ["HighFloor"] },
{ icon: HeartIcon, name: ["IceMachine"] },
{ icon: HeartIcon, name: ["IceMachineReception"] },
{ icon: HeartIcon, name: ["Jaccuzzi"] },
{ icon: HeartIcon, name: ["Jacuzzi"] },
{ icon: HeartIcon, name: ["Kitchen"] },
{ icon: HeartIcon, name: ["Kitchenette"] },
{ icon: HeartIcon, name: ["LateCheckOutUntil1400Guaranteed"] },
{ icon: HeartIcon, name: ["LiveMusicExhibitions"] },
{ icon: HeartIcon, name: ["Massage"] },
{ icon: HeartIcon, name: ["MeetingArea"] },
{ icon: HeartIcon, name: ["MinibarIncludedInRoomRate"] },
{ icon: HeartIcon, name: ["OvernightSecurity"] },
{ icon: HeartIcon, name: ["ParkingAdditionalcost"] },
{ icon: HeartIcon, name: ["PrivateSauna"] },
{ icon: HeartIcon, name: ["Refrigerator"] },
{ icon: HeartIcon, name: ["SeatingArea"] },
{ icon: HeartIcon, name: ["Security24Hoours"] },
{ icon: HeartIcon, name: ["SeparateLivingRoom"] },
{ icon: HeartIcon, name: ["SeparateToilet"] },
{ icon: HeartIcon, name: ["ServiceSecurity24h"] },
{ icon: HeartIcon, name: ["Shampoo"] },
{ icon: HeartIcon, name: ["Slippers"] },
{ icon: HeartIcon, name: ["Sofabed"] },
{ icon: HeartIcon, name: ["Sofas"] },
{ icon: HeartIcon, name: ["SofaWithTable"] },
{ icon: HeartIcon, name: ["SpaciousRoom"] },
{ icon: HeartIcon, name: ["StillAndSparklingWater"] },
{ icon: HeartIcon, name: ["Table"] },
{ icon: HeartIcon, name: ["TassimoCoffeeMaker"] },
{ icon: HeartIcon, name: ["Terrace"] },
{ icon: HeartIcon, name: ["TrouserPress"] },
{ icon: HeartIcon, name: ["TV"] },
{ icon: HeartIcon, name: ["TVWithComplimentaryMovieChannels"] },
{ icon: HeartIcon, name: ["TVWithMovieChannels"] },
{ icon: HeartIcon, name: ["TVWithStreamingOption"] },
{ icon: HeartIcon, name: ["VentilationInRoom"] },
{ icon: HeartIcon, name: ["View"] },
{ icon: HeartIcon, name: ["ViewFjordView"] },
{ icon: HeartIcon, name: ["ViewLakeView"] },
{ icon: HeartIcon, name: ["ViewPanoramicView"] },
{ icon: HeartIcon, name: ["ViewSeaView"] },
{ icon: HeartIcon, name: ["WallBed"] },
{ icon: HeartIcon, name: ["WallMountedCycleRack"] },
{ icon: HeartIcon, name: ["Wardrobe"] },
{ icon: HeartIcon, name: ["WellnessAndSaunaEntranceFeeAdmission16Years"] },
{ icon: HeartIcon, name: ["WellnessPoolSaunaEntranceFeeAdmission16Years"] },
{ icon: HeartIcon, name: ["WindowNook"] },
{ icon: IronIcon, name: ["IronAndIroningBoard"] },
{ icon: IronIcon, name: ["IroningRoom"] },
{ icon: KayakingIcon, name: ["KayaksForLoan"] },
{ icon: KettleIcon, name: ["Kettle"] },
{ icon: KettleIcon, name: ["KettleWithCoffeeTea"] },
{ icon: LaptopIcon, name: ["LaptopSafe"] },
{ icon: LaptopIcon, name: ["LaptopTray"] },
{ icon: LaundryMachineIcon, name: ["LaundryService"] },
{ icon: LocalBarIcon, name: ["Bar"] },
{ icon: LocalBarIcon, name: ["RooftopBar"] },
{ icon: LocalBarIcon, name: ["Skybar"] },
{ icon: LuggageIcon, name: ["LuggageLockers"] },
{ icon: MicrowaveIcon, name: ["Microwave"] },
{ icon: MirrorIcon, name: ["CosmeticMirror"] },
{ icon: NatureIcon, name: ["ViewParkView"] },
{ icon: NightlifeIcon, name: ["DiscoNightClub"] },
{ icon: NoSmokingIcon, name: ["NonSmoking"] },
{ icon: OutdoorFurnitureIcon, name: ["OutdoorTerrace"] },
{ icon: ParkingIcon, name: ["Parking"] },
{ icon: ParkingIcon, name: ["ParkingFreeParking"] },
{ icon: PetsIcon, name: ["PetFriendlyRooms"] },
{ icon: PhoneIcon, name: ["DirectDialPhoneAndVoiceMail"] },
{ icon: RestaurantIcon, name: ["Restaurant"] },
{ icon: RoomServiceIcon, name: ["Roomservice"] },
{ icon: SafetyBoxIcon, name: ["SafetyBox"] },
{ icon: SaunaIcon, name: ["Sauna"] },
{ icon: ShowerIcon, name: ["BathroomWithShower"] },
{ icon: ShowerIcon, name: ["RainShower"] },
{ icon: ShowerIcon, name: ["SharedBathroomWithShower"] },
{ icon: ShowerIcon, name: ["ShowerGel"] },
{ icon: ShowerIcon, name: ["ShowerProductsScentByGrandCentral"] },
{ icon: SpeakerIcon, name: ["ModernVinylplayer"] },
{ icon: SpeakerIcon, name: ["MusicPlayer"] },
{ icon: StoreIcon, name: ["Hairdresser"] },
{ icon: StoreIcon, name: ["Shop"] },
{ icon: StreetIcon, name: ["ViewStreetView"] },
{ icon: SwimIcon, name: ["Pool"] },
{ icon: TshirtWashIcon, name: ["HandWash"] },
{ icon: TvCastingIcon, name: ["TVWithChromecast"] },
{ icon: WifiIcon, name: ["FreeWifi"] },
{ icon: WindowCurtainsAltIcon, name: ["BlackoutCurtains"] },
{ icon: WindowNotAvailableIcon, name: ["NoWindow"] },
{ icon: WineBarIcon, name: ["Minibar"] },
{ icon: WoodFloorIcon, name: ["WoodenFloor"] },
{ icon: YardIcon, name: ["ViewAtriumView"] },
{ icon: AcIcon, name: "aircondition" },
{ icon: AirplaneIcon, name: "airport" },
{ icon: BalconyIcon, name: "balcony" },
{ icon: BalconyIcon, name: "balconyorterrace" },
{ icon: BalconyIcon, name: "frenchbalcony" },
{ icon: BathtubIcon, name: "bathroomwithbathtub" },
{ icon: BathtubIcon, name: "bathroomwithshowerandbathtub" },
{ icon: BathtubIcon, name: "bathroomwithshowerorbathtub" },
{ icon: BedDoubleIcon, name: "adjustablebeds" },
{ icon: BedDoubleIcon, name: "setoftwopillows" },
{ icon: BedHotelIcon, name: "armchairbed" },
{ icon: BedHotelIcon, name: "pulloutbed" },
{ icon: BedroomParentIcon, name: "separatebedroom" },
{ icon: BedSingleIcon, name: "extrabed" },
{ icon: BikeIcon, name: "bikeforloan" },
{ icon: BreakfastIcon, name: "breakfast" },
{ icon: BreakfastIcon, name: "servesbreakfastalwaysincluded" },
{ icon: BusinessIcon, name: "meetingconferencefacilities" },
{ icon: BusinessIcon, name: "meetingrooms" },
{ icon: CableIcon, name: "internetwithcableintheroom" },
{ icon: ChairIcon, name: "armchair" },
{ icon: ChairIcon, name: "connectingrooms" },
{ icon: CityIcon, name: "viewcityview" },
{ icon: CoffeeAltIcon, name: "nespressomachine" },
{ icon: CoffeeIcon, name: "café" },
{ icon: CoffeeIcon, name: "coffee" },
{ icon: CoffeeMakerIcon, name: "coffeemachine" },
{ icon: ConciergeIcon, name: "lifestyleconcierge" },
{ icon: CoolIcon, name: "aircooling" },
{ icon: CoolIcon, name: "cooler" },
{ icon: CoolIcon, name: "coolingcabinet" },
{ icon: DeskIcon, name: "deskandchair" },
{ icon: DiningIcon, name: "diningarea" },
{ icon: DiningIcon, name: "tablefordining" },
{ icon: ElectricBikeIcon, name: "ebikeschargingstation" },
{ icon: FamilyIcon, name: "extrafamilyfriendly" },
{ icon: FitnessIcon, name: "gym" },
{ icon: FootstoolIcon, name: "footstool" },
{ icon: HairdryerIcon, name: "hairdryer" },
{ icon: HandSoapIcon, name: "toiletries" },
{ icon: HealthBeautyIcon, name: "beautysalon" },
{ icon: HeartIcon, name: "bathrobes" },
{ icon: HeartIcon, name: "bathroom2separatebathrooms" },
{ icon: HeartIcon, name: "bodycareproducts" },
{ icon: HeartIcon, name: "bodylotion" },
{ icon: HeartIcon, name: "bowling" },
{ icon: HeartIcon, name: "bunkbed" },
{ icon: HeartIcon, name: "bunkbed80x188cm" },
{ icon: HeartIcon, name: "carpetingwalltowallcarpet" },
{ icon: HeartIcon, name: "cashfree800pmtill0600am" },
{ icon: HeartIcon, name: "cashfreehotel" },
{ icon: HeartIcon, name: "coffeevoucher" },
{ icon: HeartIcon, name: "complimentarycoldrefreshments" },
{ icon: HeartIcon, name: "conditioner" },
{ icon: HeartIcon, name: "conventioncentre" },
{ icon: HeartIcon, name: "disabledparking" },
{ icon: HeartIcon, name: "dockingstationforipodipad" },
{ icon: HeartIcon, name: "dryingcabinet" },
{ icon: HeartIcon, name: "easyaccess" },
{ icon: HeartIcon, name: "garmentsteamer" },
{ icon: HeartIcon, name: "highfloor" },
{ icon: HeartIcon, name: "icemachine" },
{ icon: HeartIcon, name: "icemachinereception" },
{ icon: HeartIcon, name: "jaccuzzi" },
{ icon: HeartIcon, name: "jacuzzi" },
{ icon: HeartIcon, name: "kitchen" },
{ icon: HeartIcon, name: "kitchenette" },
{ icon: HeartIcon, name: "latecheckoutuntil1400guaranteed" },
{ icon: HeartIcon, name: "livemusicexhibitions" },
{ icon: HeartIcon, name: "massage" },
{ icon: HeartIcon, name: "meetingarea" },
{ icon: HeartIcon, name: "minibarincludedinroomrate" },
{ icon: HeartIcon, name: "overnightsecurity" },
{ icon: HeartIcon, name: "parkingadditionalcost" },
{ icon: HeartIcon, name: "privatesauna" },
{ icon: HeartIcon, name: "refrigerator" },
{ icon: HeartIcon, name: "seatingarea" },
{ icon: HeartIcon, name: "security24hoours" },
{ icon: HeartIcon, name: "separatelivingroom" },
{ icon: HeartIcon, name: "separatetoilet" },
{ icon: HeartIcon, name: "servicesecurity24h" },
{ icon: HeartIcon, name: "shampoo" },
{ icon: HeartIcon, name: "slippers" },
{ icon: HeartIcon, name: "sofabed" },
{ icon: HeartIcon, name: "sofas" },
{ icon: HeartIcon, name: "sofawithtable" },
{ icon: HeartIcon, name: "spaciousroom" },
{ icon: HeartIcon, name: "stillandsparklingwater" },
{ icon: HeartIcon, name: "table" },
{ icon: HeartIcon, name: "tassimocoffeemaker" },
{ icon: HeartIcon, name: "terrace" },
{ icon: HeartIcon, name: "trouserpress" },
{ icon: HeartIcon, name: "tv" },
{ icon: HeartIcon, name: "tvwithcomplimentarymoviechannels" },
{ icon: HeartIcon, name: "tvwithmoviechannels" },
{ icon: HeartIcon, name: "tvwithstreamingoption" },
{ icon: HeartIcon, name: "ventilationinroom" },
{ icon: HeartIcon, name: "view" },
{ icon: HeartIcon, name: "viewfjordview" },
{ icon: HeartIcon, name: "viewlakeview" },
{ icon: HeartIcon, name: "viewpanoramicview" },
{ icon: HeartIcon, name: "viewseaview" },
{ icon: HeartIcon, name: "wallbed" },
{ icon: HeartIcon, name: "wallmountedcyclerack" },
{ icon: HeartIcon, name: "wardrobe" },
{ icon: HeartIcon, name: "wellnessandsaunaentrancefeeadmission16years" },
{ icon: HeartIcon, name: "wellnesspoolsaunaentrancefeeadmission16years" },
{ icon: HeartIcon, name: "windownook" },
{ icon: IronIcon, name: "ironandironingboard" },
{ icon: IronIcon, name: "ironingroom" },
{ icon: KayakingIcon, name: "kayaksforloan" },
{ icon: KettleIcon, name: "kettle" },
{ icon: KettleIcon, name: "kettlewithcoffeetea" },
{ icon: LaptopIcon, name: "laptopsafe" },
{ icon: LaptopIcon, name: "laptoptray" },
{ icon: LaundryMachineIcon, name: "laundryservice" },
{ icon: LocalBarIcon, name: "bar" },
{ icon: LocalBarIcon, name: "rooftopbar" },
{ icon: LocalBarIcon, name: "skybar" },
{ icon: LuggageIcon, name: "luggagelockers" },
{ icon: MicrowaveIcon, name: "microwave" },
{ icon: MirrorIcon, name: "cosmeticmirror" },
{ icon: NatureIcon, name: "viewparkview" },
{ icon: NightlifeIcon, name: "disconightclub" },
{ icon: NoSmokingIcon, name: "nonsmoking" },
{ icon: OutdoorFurnitureIcon, name: "outdoorterrace" },
{ icon: ParkingIcon, name: "parking" },
{ icon: ParkingIcon, name: "parkingfreeparking" },
{ icon: PetsIcon, name: "petfriendlyrooms" },
{ icon: PhoneIcon, name: "directdialphoneandvoicemail" },
{ icon: RestaurantIcon, name: "restaurant" },
{ icon: RoomServiceIcon, name: "roomservice" },
{ icon: SafetyBoxIcon, name: "safetybox" },
{ icon: SaunaIcon, name: "sauna" },
{ icon: ShowerIcon, name: "bathroomwithshower" },
{ icon: ShowerIcon, name: "rainshower" },
{ icon: ShowerIcon, name: "sharedbathroomwithshower" },
{ icon: ShowerIcon, name: "showergel" },
{ icon: ShowerIcon, name: "showerproductsscentbygrandcentral" },
{ icon: SpeakerIcon, name: "modernvinylplayer" },
{ icon: SpeakerIcon, name: "musicplayer" },
{ icon: StoreIcon, name: "hairdresser" },
{ icon: StoreIcon, name: "shop" },
{ icon: StreetIcon, name: "viewstreetview" },
{ icon: SwimIcon, name: "pool" },
{ icon: TshirtWashIcon, name: "handwash" },
{ icon: TvCastingIcon, name: "tvwithchromecast" },
{ icon: WifiIcon, name: "freewifi" },
{ icon: WindowCurtainsAltIcon, name: "blackoutcurtains" },
{ icon: WindowNotAvailableIcon, name: "nowindow" },
{ icon: WineBarIcon, name: "minibar" },
{ icon: WoodFloorIcon, name: "woodenfloor" },
{ icon: YardIcon, name: "viewatriumview" },
]
const icon = iconMappings.find((icon) => icon.name.includes(name))
const icon = iconMappings.find(
(icon) => icon.name.toLowerCase() === normalizedName
)
return icon ? icon.icon : HeartIcon
}