diff --git a/components/Icons/Balcony.tsx b/components/Icons/Balcony.tsx new file mode 100644 index 000000000..e0fc4c020 --- /dev/null +++ b/components/Icons/Balcony.tsx @@ -0,0 +1,23 @@ +import { iconVariants } from "./variants" + +import type { IconProps } from "@/types/components/icon" + +export default function BalconyIcon({ className, color, ...props }: IconProps) { + const classNames = iconVariants({ className, color }) + return ( + + + + ) +} diff --git a/components/Icons/BedHotel.tsx b/components/Icons/BedHotel.tsx new file mode 100644 index 000000000..d2f37b0ed --- /dev/null +++ b/components/Icons/BedHotel.tsx @@ -0,0 +1,27 @@ +import { iconVariants } from "./variants" + +import type { IconProps } from "@/types/components/icon" + +export default function BedHotelIcon({ + className, + color, + ...props +}: IconProps) { + const classNames = iconVariants({ className, color }) + return ( + + + + ) +} diff --git a/components/Icons/BedroomParent.tsx b/components/Icons/BedroomParent.tsx new file mode 100644 index 000000000..c7bdf7868 --- /dev/null +++ b/components/Icons/BedroomParent.tsx @@ -0,0 +1,27 @@ +import { iconVariants } from "./variants" + +import type { IconProps } from "@/types/components/icon" + +export default function BedroomParentIcon({ + className, + color, + ...props +}: IconProps) { + const classNames = iconVariants({ className, color }) + return ( + + + + ) +} diff --git a/components/Icons/Cable.tsx b/components/Icons/Cable.tsx new file mode 100644 index 000000000..493994d60 --- /dev/null +++ b/components/Icons/Cable.tsx @@ -0,0 +1,23 @@ +import { iconVariants } from "./variants" + +import type { IconProps } from "@/types/components/icon" + +export default function CableIcon({ className, color, ...props }: IconProps) { + const classNames = iconVariants({ className, color }) + return ( + + + + ) +} diff --git a/components/Icons/CoffeeMaker.tsx b/components/Icons/CoffeeMaker.tsx new file mode 100644 index 000000000..8d9dbf460 --- /dev/null +++ b/components/Icons/CoffeeMaker.tsx @@ -0,0 +1,27 @@ +import { iconVariants } from "./variants" + +import type { IconProps } from "@/types/components/icon" + +export default function CoffeeMakerIcon({ + className, + color, + ...props +}: IconProps) { + const classNames = iconVariants({ className, color }) + return ( + + + + ) +} diff --git a/components/Icons/Dining.tsx b/components/Icons/Dining.tsx new file mode 100644 index 000000000..5fcab7d1b --- /dev/null +++ b/components/Icons/Dining.tsx @@ -0,0 +1,23 @@ +import { iconVariants } from "./variants" + +import type { IconProps } from "@/types/components/icon" + +export default function DiningIcon({ className, color, ...props }: IconProps) { + const classNames = iconVariants({ className, color }) + return ( + + + + ) +} diff --git a/components/Icons/Family.tsx b/components/Icons/Family.tsx new file mode 100644 index 000000000..3f0547be8 --- /dev/null +++ b/components/Icons/Family.tsx @@ -0,0 +1,23 @@ +import { iconVariants } from "./variants" + +import type { IconProps } from "@/types/components/icon" + +export default function FamilyIcon({ className, color, ...props }: IconProps) { + const classNames = iconVariants({ className, color }) + return ( + + + + ) +} diff --git a/components/Icons/HealthBeauty.tsx b/components/Icons/HealthBeauty.tsx new file mode 100644 index 000000000..90e505325 --- /dev/null +++ b/components/Icons/HealthBeauty.tsx @@ -0,0 +1,27 @@ +import { iconVariants } from "./variants" + +import type { IconProps } from "@/types/components/icon" + +export default function HealthBeautyIcon({ + className, + color, + ...props +}: IconProps) { + const classNames = iconVariants({ className, color }) + return ( + + + + ) +} diff --git a/components/Icons/Laptop.tsx b/components/Icons/Laptop.tsx new file mode 100644 index 000000000..932efb949 --- /dev/null +++ b/components/Icons/Laptop.tsx @@ -0,0 +1,23 @@ +import { iconVariants } from "./variants" + +import type { IconProps } from "@/types/components/icon" + +export default function LaptopIcon({ className, color, ...props }: IconProps) { + const classNames = iconVariants({ className, color }) + return ( + + + + ) +} diff --git a/components/Icons/Luggage.tsx b/components/Icons/Luggage.tsx new file mode 100644 index 000000000..e4cf0ba21 --- /dev/null +++ b/components/Icons/Luggage.tsx @@ -0,0 +1,23 @@ +import { iconVariants } from "./variants" + +import type { IconProps } from "@/types/components/icon" + +export default function LuggageIcon({ className, color, ...props }: IconProps) { + const classNames = iconVariants({ className, color }) + return ( + + + + ) +} diff --git a/components/Icons/Microwave.tsx b/components/Icons/Microwave.tsx new file mode 100644 index 000000000..ce4c73752 --- /dev/null +++ b/components/Icons/Microwave.tsx @@ -0,0 +1,27 @@ +import { iconVariants } from "./variants" + +import type { IconProps } from "@/types/components/icon" + +export default function MicrowaveIcon({ + className, + color, + ...props +}: IconProps) { + const classNames = iconVariants({ className, color }) + return ( + + + + ) +} diff --git a/components/Icons/Speaker.tsx b/components/Icons/Speaker.tsx new file mode 100644 index 000000000..eeb76d4d5 --- /dev/null +++ b/components/Icons/Speaker.tsx @@ -0,0 +1,23 @@ +import { iconVariants } from "./variants" + +import type { IconProps } from "@/types/components/icon" + +export default function SpeakerIcon({ className, color, ...props }: IconProps) { + const classNames = iconVariants({ className, color }) + return ( + + + + ) +} diff --git a/components/Icons/index.tsx b/components/Icons/index.tsx index 26ca0d7ba..b8d3ef8d9 100644 --- a/components/Icons/index.tsx +++ b/components/Icons/index.tsx @@ -7,14 +7,18 @@ export { default as AirplaneIcon } from "./Airplane" export { default as AllergyIcon } from "./Allergy" export { default as ArrowRightIcon } from "./ArrowRight" export { default as ArrowUpIcon } from "./ArrowUp" +export { default as BalconyIcon } from "./Balcony" export { default as BarIcon } from "./Bar" export { default as BathtubIcon } from "./Bathtub" export { default as BedDoubleIcon } from "./BedDouble" +export { default as BedHotelIcon } from "./BedHotel" +export { default as BedroomParentIcon } from "./BedroomParent" export { default as BedSingleIcon } from "./BedSingle" export { default as BikeIcon } from "./Bike" export { default as BikingIcon } from "./Biking" export { default as BreakfastIcon } from "./Breakfast" export { default as BusinessIcon } from "./Business" +export { default as CableIcon } from "./Cable" export { default as CalendarIcon } from "./Calendar" export { default as CameraIcon } from "./Camera" export { default as CellphoneIcon } from "./Cellphone" @@ -34,6 +38,7 @@ export { default as CloseIcon } from "./Close" export { default as CloseLargeIcon } from "./CloseLarge" export { default as CoffeeIcon } from "./Coffee" export { default as CoffeeAltIcon } from "./CoffeeAlt" +export { default as CoffeeMakerIcon } from "./CoffeeMaker" export { default as ConciergeIcon } from "./Concierge" export { default as ContractIcon } from "./Contract" export { default as ConvenienceStore24hIcon } from "./ConvenienceStore24h" @@ -44,6 +49,7 @@ export { default as CrossCircle } from "./CrossCircle" export { default as CulturalIcon } from "./Cultural" export { default as DeleteIcon } from "./Delete" export { default as DeskIcon } from "./Desk" +export { default as DiningIcon } from "./Dining" export { default as DiscountIcon } from "./Discount" export { default as DoorClosedIcon } from "./DoorClosed" export { default as DoorOpenIcon } from "./DoorOpen" @@ -57,6 +63,7 @@ export { default as ErrorCircleIcon } from "./ErrorCircle" export { default as EyeHideIcon } from "./EyeHide" export { default as EyeShowIcon } from "./EyeShow" export { default as FacebookIcon } from "./Facebook" +export { default as FamilyIcon } from "./Family" export { default as FanIcon } from "./Fan" export { default as FilterIcon } from "./Filter" export { default as FitnessIcon } from "./Fitness" @@ -71,6 +78,7 @@ export { default as HairdryerIcon } from "./Hairdryer" export { default as HandSoapIcon } from "./HandSoap" export { default as HangerIcon } from "./Hanger" export { default as HangerAltIcon } from "./HangerAlt" +export { default as HealthBeautyIcon } from "./HealthBeauty" export { default as HeartIcon } from "./Heart" export { default as HeatIcon } from "./Heat" export { default as HouseIcon } from "./House" @@ -83,6 +91,7 @@ export { default as KettleIcon } from "./Kettle" export { default as KingBedIcon } from "./KingBed" export { default as KingBedSmallIcon } from "./KingBedSmall" export { default as LampIcon } from "./Lamp" +export { default as LaptopIcon } from "./Laptop" export { default as LaundryMachineIcon } from "./LaundryMachine" export { default as LocalBarIcon } from "./LocalBar" export { default as LocationIcon } from "./Location" @@ -94,7 +103,9 @@ export { default as HotelNorgeIcon } from "./Logos/HotelNorge" export { default as MarskiLogoIcon } from "./Logos/Marski" export { default as ScandicGoLogoIcon } from "./Logos/ScandicGoLogo" export { default as ScandicLogoIcon } from "./Logos/ScandicLogo" +export { default as LuggageIcon } from "./Luggage" export { default as MapIcon } from "./Map" +export { default as MicrowaveIcon } from "./Microwave" export { default as MinusIcon } from "./Minus" export { default as MirrorIcon } from "./Mirror" export { default as MuseumIcon } from "./Museum" @@ -124,6 +135,7 @@ export { default as SkateboardingIcon } from "./Skateboarding" export { default as SmokingIcon } from "./Smoking" export { default as SnowflakeIcon } from "./Snowflake" export { default as SpaIcon } from "./Spa" +export { default as SpeakerIcon } from "./Speaker" export { default as StarFilledIcon } from "./StarFilled" export { default as StoreIcon } from "./Store" export { default as StreetIcon } from "./Street" diff --git a/components/SidePeeks/RoomSidePeek/facilityIcon.ts b/components/SidePeeks/RoomSidePeek/facilityIcon.ts index b131dbd27..1aa6eab36 100644 --- a/components/SidePeeks/RoomSidePeek/facilityIcon.ts +++ b/components/SidePeeks/RoomSidePeek/facilityIcon.ts @@ -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 | 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 }