diff --git a/src/app/page.tsx b/src/app/page.tsx new file mode 100644 index 0000000..e5c36de --- /dev/null +++ b/src/app/page.tsx @@ -0,0 +1,100 @@ +'use client' + +import Link from "next/link" +import { useMedusaProducts } from "@/hooks/useMedusaProducts" +import { useMedusaCart } from "@/hooks/useMedusaCart" +import Button from "@/components/ui/Button" +import { Card, CardHeader, CardTitle, CardContent, CardFooter } from "@/components/ui/Card" +import HeroSection from "@/components/sections/HeroSection" +import ExclusiveSuitesSection from "@/components/sections/ExclusiveSuitesSection" +import MoltenRockStorySection from "@/components/sections/MoltenRockStorySection" +import BespokeExperiencesSection from "@/components/sections/BespokeExperiencesSection" +import MoltenRockCampaignsSection from "@/components/sections/MoltenRockCampaignsSection" +import SafariGallerySection from "@/components/sections/SafariGallerySection" +import BushChronicleSection from "@/components/sections/BushChronicleSection" +import DiscerningGuestVoicesSection from "@/components/sections/DiscerningGuestVoicesSection" +import ExclusiveBookingCtaSection from "@/components/sections/ExclusiveBookingCtaSection" +import SanctuaryLocationSection from "@/components/sections/SanctuaryLocationSection" +import GuestEnquirySection from "@/components/sections/GuestEnquirySection" + +export default function HomePage() { + const { products, loading, error } = useMedusaProducts(4) + const { addToCart } = useMedusaCart() + + const handleAddToBooking = (variantId: string) => { + addToCart(variantId, 1) + } + + return ( +
+ + + {/* Room Preview Section */} +
+
+

+ Exclusive Suites Preview +

+ {loading && ( +

Curating our finest accommodations...

+ )} + {error && ( +

Unable to load suite details at this moment

+ )} + {!loading && !error && products.length === 0 && ( +

+ No suites available right now. Contact our concierge for bespoke arrangements. +

+ )} +
+ {products.map((product) => ( + + + {product.thumbnail && ( + {product.title} + )} + {product.title} + + +

+ {product.description?.substring(0, 100)}... +

+

+ {product.variants?.[0]?.prices?.[0]?.currency_code}{" "} + {(product.variants?.[0]?.prices?.[0]?.amount / 100).toLocaleString()} +

+
+ + + + + + +
+ ))} +
+
+
+ + + + + + + + + + + +
+ ) +}