From 168b7d7195908b9bee82917a6fcdb7d0fa22c991 Mon Sep 17 00:00:00 2001 From: Vula Builder Date: Tue, 23 Jun 2026 08:47:38 +0000 Subject: [PATCH] Deploy --- src/components/sections/RoomsSection.tsx | 76 ++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 src/components/sections/RoomsSection.tsx diff --git a/src/components/sections/RoomsSection.tsx b/src/components/sections/RoomsSection.tsx new file mode 100644 index 0000000..d52efe8 --- /dev/null +++ b/src/components/sections/RoomsSection.tsx @@ -0,0 +1,76 @@ +'use client' + +import { useMedusaProducts } from '@/hooks/useMedusaProducts' +import Image from 'next/image' +import Link from 'next/link' +import { Snowflake, Star, Tv, Wifi } from 'lucide-react' +import { Card, CardContent, CardFooter, CardTitle } from '@/components/ui/Card' +import Button from '@/components/ui/Button' + +export default function RoomsSection() { + const { products: rooms, isLoading } = useMedusaProducts(6) + + const amenityIcons = [ + { icon: Snowflake, label: 'Air conditioning' }, + { icon: Tv, label: 'TV with DStv' }, + { icon: Wifi, label: 'Wi-Fi' }, + { icon: Star, label: 'En-suite' }, + ] + + if (isLoading) { + return ( +
+
+ Loading rooms… +
+
+ ) + } + + return ( +
+
+

+ Themed Luxury Rooms +

+
+ {rooms?.map((room: any) => ( + +
+ {room.title} +
+
+ {room.title} +

{room.description}

+
+ {amenityIcons.map((a, i) => { + const Icon = a.icon + return ( + + + {a.label} + + ) + })} +
+
+ + + + + +
+ ))} +
+
+
+ ) +} \ No newline at end of file