feat(SW-938) Added icons to room facility

This commit is contained in:
Pontus Dreij
2024-11-22 10:11:26 +01:00
parent 9693803626
commit 1f32f77846
14 changed files with 504 additions and 91 deletions

View File

@@ -2,21 +2,61 @@ 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,
StarFilledIcon,
SpeakerIcon,
StoreIcon,
StreetIcon,
SwimIcon,
TshirtWashIcon,
TvCastingIcon,
WifiIcon,
WindowCurtainsAltIcon,
WindowNotAvailableIcon,
@@ -30,98 +70,163 @@ import { IconProps } from "@/types/components/icon"
export function getFacilityIcon(
name: string | undefined
): FC<IconProps> | null {
if (!name) return StarFilledIcon
if (!name) return HeartIcon
const iconMappings = [
{
icon: DeskIcon,
name: ["Desk and chair"],
},
{
icon: HairdryerIcon,
name: ["Hairdryer"],
},
{
icon: AcIcon,
name: ["Air Condition"],
},
{
icon: ChairIcon,
name: ["Armchair / armchairs"],
},
{
icon: BathtubIcon,
name: ["Bathroom with shower or bathtub"],
},
{
icon: WindowCurtainsAltIcon,
name: ["Blackout curtains"],
},
{
icon: MirrorIcon,
name: ["Cosmetic mirror"],
},
{
icon: WifiIcon,
name: ["FreeWiFi"],
},
{
icon: ChairIcon,
name: ["Connecting rooms"],
},
{
icon: YardIcon,
name: ["View - atrium view"],
},
{
icon: CityIcon,
name: ["View - city view"],
},
{
icon: NatureIcon,
name: ["View - park view"],
},
{
icon: StreetIcon,
name: ["View - street view"],
},
{
icon: WineBarIcon,
name: ["Minibar"],
},
{
icon: NoSmokingIcon,
name: ["Non smoking"],
},
{
icon: ShowerIcon,
name: ["Rain shower"],
},
{
icon: SafetyBoxIcon,
name: ["Safety box"],
},
{
icon: BedDoubleIcon,
name: ["Set of two pillows"],
},
{
icon: IronIcon,
name: ["Iron and ironing board"],
},
{
icon: HandSoapIcon,
name: ["Toiletries"],
},
{
icon: WoodFloorIcon,
name: ["Wooden floor"],
},
{
icon: WindowNotAvailableIcon,
name: ["Not window"],
},
{ 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 : StarFilledIcon
return icon ? icon.icon : HeartIcon
}