diff --git a/components/SidePeeks/RoomSidePeek/facilityIcon.ts b/components/SidePeeks/RoomSidePeek/facilityIcon.ts index 1aa6eab36..f86329504 100644 --- a/components/SidePeeks/RoomSidePeek/facilityIcon.ts +++ b/components/SidePeeks/RoomSidePeek/facilityIcon.ts @@ -70,163 +70,171 @@ import { IconProps } from "@/types/components/icon" export function getFacilityIcon( name: string | undefined ): FC | 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 }