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