Files
web/components/SidePeeks/RoomSidePeek/facilityIcon.ts
2024-11-22 10:18:27 +01:00

233 lines
9.1 KiB
TypeScript

import { FC } from "react"
import {
AcIcon,
AirplaneIcon,
BalconyIcon,
BathtubIcon,
BedDoubleIcon,
BedHotelIcon,
BedroomParentIcon,
BedSingleIcon,
BikeIcon,
BreakfastIcon,
BusinessIcon,
CableIcon,
ChairIcon,
CityIcon,
CoffeeAltIcon,
CoffeeIcon,
CoffeeMakerIcon,
ConciergeIcon,
CoolIcon,
DeskIcon,
DiningIcon,
ElectricBikeIcon,
FamilyIcon,
FitnessIcon,
FootstoolIcon,
HairdryerIcon,
HandSoapIcon,
HealthBeautyIcon,
HeartIcon,
IronIcon,
KayakingIcon,
KettleIcon,
LaptopIcon,
LaundryMachineIcon,
LocalBarIcon,
LuggageIcon,
MicrowaveIcon,
MirrorIcon,
NatureIcon,
NightlifeIcon,
NoSmokingIcon,
OutdoorFurnitureIcon,
ParkingIcon,
PetsIcon,
PhoneIcon,
RestaurantIcon,
RoomServiceIcon,
SafetyBoxIcon,
SaunaIcon,
ShowerIcon,
SpeakerIcon,
StoreIcon,
StreetIcon,
SwimIcon,
TshirtWashIcon,
TvCastingIcon,
WifiIcon,
WindowCurtainsAltIcon,
WindowNotAvailableIcon,
WineBarIcon,
WoodFloorIcon,
YardIcon,
} from "@/components/Icons"
import { IconProps } from "@/types/components/icon"
export function getFacilityIcon(
name: string | undefined
): FC<IconProps> | null {
if (!name) return HeartIcon
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"] },
]
const icon = iconMappings.find((icon) => icon.name.includes(name))
return icon ? icon.icon : HeartIcon
}