updates
This commit is contained in:
@@ -150,17 +150,17 @@ const RoomListPage: React.FC = () => {
|
||||
{}
|
||||
{/* Promotion Banner */}
|
||||
{showPromotionBanner && activePromotion && (
|
||||
<div className="w-full bg-gradient-to-r from-[#d4af37]/20 via-[#f5d76e]/15 to-[#d4af37]/20 border-b border-[#d4af37]/30">
|
||||
<div className="w-full bg-gradient-to-r from-[var(--luxury-gold)]/20 via-[var(--luxury-gold-light)]/15 to-[var(--luxury-gold)]/20 border-b border-[var(--luxury-gold)]/30">
|
||||
<div className="w-full max-w-[1920px] mx-auto px-3 sm:px-4 md:px-6 lg:px-8 xl:px-12 2xl:px-16 3xl:px-20 py-4">
|
||||
<div className="flex items-center justify-between gap-4 bg-gradient-to-r from-[#1a1a1a] to-[#0f0f0f] border border-[#d4af37]/40 rounded-lg p-4 backdrop-blur-xl shadow-lg">
|
||||
<div className="flex items-center justify-between gap-4 bg-gradient-to-r from-[#1a1a1a] to-[#0f0f0f] border border-[var(--luxury-gold)]/40 rounded-lg p-4 backdrop-blur-xl shadow-lg">
|
||||
<div className="flex items-center gap-3 flex-1">
|
||||
<div className="p-2 bg-[#d4af37]/20 rounded-lg border border-[#d4af37]/40">
|
||||
<Tag className="w-5 h-5 text-[#d4af37]" />
|
||||
<div className="p-2 bg-[var(--luxury-gold)]/20 rounded-lg border border-[var(--luxury-gold)]/40">
|
||||
<Tag className="w-5 h-5 text-[var(--luxury-gold)]" />
|
||||
</div>
|
||||
<div className="flex-1">
|
||||
<div className="flex items-center gap-2 mb-1">
|
||||
<CheckCircle className="w-4 h-4 text-green-400" />
|
||||
<span className="text-sm font-semibold text-[#d4af37]">
|
||||
<span className="text-sm font-semibold text-[var(--luxury-gold)]">
|
||||
Active Promotion: {activePromotion.code || activePromotion.title}
|
||||
</span>
|
||||
</div>
|
||||
@@ -176,7 +176,7 @@ const RoomListPage: React.FC = () => {
|
||||
</div>
|
||||
<button
|
||||
onClick={handleDismissPromotion}
|
||||
className="p-2 hover:bg-[#d4af37]/10 rounded-lg transition-colors"
|
||||
className="p-2 hover:bg-[var(--luxury-gold)]/10 rounded-lg transition-colors"
|
||||
aria-label="Dismiss promotion"
|
||||
>
|
||||
<X className="w-5 h-5 text-gray-400 hover:text-white" />
|
||||
@@ -186,19 +186,19 @@ const RoomListPage: React.FC = () => {
|
||||
</div>
|
||||
)}
|
||||
|
||||
<div className="w-full bg-gradient-to-br from-[#1a1a1a] via-[#0f0f0f] to-[#1a1a1a] border-b border-[#d4af37]/10 pt-6 sm:pt-7 md:pt-8">
|
||||
<div className="w-full bg-gradient-to-br from-[#1a1a1a] via-[#0f0f0f] to-[#1a1a1a] border-b border-[var(--luxury-gold)]/10 pt-6 sm:pt-7 md:pt-8">
|
||||
<div className="w-full max-w-[1920px] mx-auto px-3 sm:px-4 md:px-6 lg:px-8 xl:px-12 2xl:px-16 3xl:px-20 py-6 sm:py-7 md:py-8 lg:py-10">
|
||||
{}
|
||||
<Link
|
||||
to="/"
|
||||
className="inline-flex items-center gap-2
|
||||
bg-gradient-to-r from-[#d4af37] to-[#c9a227]
|
||||
text-[#0f0f0f] hover:from-[#f5d76e] hover:to-[#d4af37]
|
||||
bg-gradient-to-r from-[var(--luxury-gold)] to-[var(--luxury-gold-dark)]
|
||||
text-[#0f0f0f] hover:from-[var(--luxury-gold-light)] hover:to-[var(--luxury-gold)]
|
||||
active:scale-95
|
||||
mb-4 sm:mb-5 md:mb-6 transition-all duration-300
|
||||
group font-medium tracking-wide text-sm
|
||||
px-4 py-2 rounded-sm
|
||||
shadow-lg shadow-[#d4af37]/30 hover:shadow-xl hover:shadow-[#d4af37]/40
|
||||
shadow-lg shadow-[var(--luxury-gold)]/30 hover:shadow-xl hover:shadow-[var(--luxury-gold)]/40
|
||||
touch-manipulation"
|
||||
>
|
||||
<ArrowLeft className="w-4 h-4 sm:w-4 sm:h-4 group-hover:-translate-x-1 transition-transform" />
|
||||
@@ -208,13 +208,13 @@ const RoomListPage: React.FC = () => {
|
||||
{}
|
||||
<div className="text-center max-w-3xl mx-auto px-2">
|
||||
<div className="inline-flex items-center justify-center gap-2 mb-3 sm:mb-4">
|
||||
<div className="p-2 sm:p-2.5 bg-[#d4af37]/10 rounded-lg border border-[#d4af37]/30 backdrop-blur-sm">
|
||||
<Hotel className="w-5 h-5 sm:w-5 sm:h-5 text-[#d4af37]" />
|
||||
<div className="p-2 sm:p-2.5 bg-[var(--luxury-gold)]/10 rounded-lg border border-[var(--luxury-gold)]/30 backdrop-blur-sm">
|
||||
<Hotel className="w-5 h-5 sm:w-5 sm:h-5 text-[var(--luxury-gold)]" />
|
||||
</div>
|
||||
</div>
|
||||
<h1 className="text-2xl xs:text-3xl sm:text-4xl md:text-5xl font-serif font-semibold
|
||||
text-white mb-2 sm:mb-3 tracking-tight leading-tight px-2
|
||||
bg-gradient-to-r from-white via-[#d4af37] to-white
|
||||
bg-gradient-to-r from-white via-[var(--luxury-gold)] to-white
|
||||
bg-clip-text text-transparent"
|
||||
>
|
||||
Our Rooms & Suites
|
||||
@@ -236,24 +236,24 @@ const RoomListPage: React.FC = () => {
|
||||
<button
|
||||
onClick={() => setIsFilterOpen(!isFilterOpen)}
|
||||
className="w-full bg-gradient-to-br from-[#1a1a1a] to-[#0a0a0a]
|
||||
border border-[#d4af37]/30 rounded-xl p-4
|
||||
backdrop-blur-xl shadow-lg shadow-[#d4af37]/10
|
||||
border border-[var(--luxury-gold)]/30 rounded-xl p-4
|
||||
backdrop-blur-xl shadow-lg shadow-[var(--luxury-gold)]/10
|
||||
flex items-center justify-between gap-3
|
||||
hover:border-[#d4af37]/50 hover:shadow-xl hover:shadow-[#d4af37]/20
|
||||
hover:border-[var(--luxury-gold)]/50 hover:shadow-xl hover:shadow-[var(--luxury-gold)]/20
|
||||
transition-all duration-300 touch-manipulation"
|
||||
>
|
||||
<div className="flex items-center gap-3">
|
||||
<div className="p-2 bg-[#d4af37]/10 rounded-lg border border-[#d4af37]/30">
|
||||
<Filter className="w-5 h-5 text-[#d4af37]" />
|
||||
<div className="p-2 bg-[var(--luxury-gold)]/10 rounded-lg border border-[var(--luxury-gold)]/30">
|
||||
<Filter className="w-5 h-5 text-[var(--luxury-gold)]" />
|
||||
</div>
|
||||
<span className="text-white font-medium tracking-wide text-base">
|
||||
Filters
|
||||
</span>
|
||||
</div>
|
||||
{isFilterOpen ? (
|
||||
<ChevronUp className="w-5 h-5 text-[#d4af37]" />
|
||||
<ChevronUp className="w-5 h-5 text-[var(--luxury-gold)]" />
|
||||
) : (
|
||||
<ChevronDown className="w-5 h-5 text-[#d4af37]" />
|
||||
<ChevronDown className="w-5 h-5 text-[var(--luxury-gold)]" />
|
||||
)}
|
||||
</button>
|
||||
</div>
|
||||
@@ -308,10 +308,10 @@ const RoomListPage: React.FC = () => {
|
||||
<p className="text-red-300 font-light text-sm sm:text-base md:text-lg mb-4 sm:mb-5 md:mb-6 tracking-wide px-2">{error}</p>
|
||||
<button
|
||||
onClick={() => window.location.reload()}
|
||||
className="px-5 sm:px-6 md:px-8 py-2.5 sm:py-3 bg-gradient-to-r from-[#d4af37] to-[#c9a227]
|
||||
className="px-5 sm:px-6 md:px-8 py-2.5 sm:py-3 bg-gradient-to-r from-[var(--luxury-gold)] to-[var(--luxury-gold-dark)]
|
||||
text-[#0f0f0f] rounded-sm font-medium tracking-wide text-sm sm:text-base
|
||||
hover:from-[#f5d76e] hover:to-[#d4af37] active:scale-95
|
||||
transition-all duration-300 shadow-lg shadow-[#d4af37]/30
|
||||
hover:from-[var(--luxury-gold-light)] hover:to-[var(--luxury-gold)] active:scale-95
|
||||
transition-all duration-300 shadow-lg shadow-[var(--luxury-gold)]/30
|
||||
touch-manipulation min-h-[44px]"
|
||||
>
|
||||
Try Again
|
||||
@@ -321,13 +321,13 @@ const RoomListPage: React.FC = () => {
|
||||
|
||||
{!loading && !error && rooms.length === 0 && (
|
||||
<div className="bg-gradient-to-br from-[#1a1a1a] to-[#0a0a0a]
|
||||
border border-[#d4af37]/20 rounded-xl p-8 sm:p-10 md:p-12 lg:p-16 text-center
|
||||
backdrop-blur-xl shadow-2xl shadow-[#d4af37]/5"
|
||||
border border-[var(--luxury-gold)]/20 rounded-xl p-8 sm:p-10 md:p-12 lg:p-16 text-center
|
||||
backdrop-blur-xl shadow-2xl shadow-[var(--luxury-gold)]/5"
|
||||
>
|
||||
<div className="inline-flex items-center justify-center w-16 h-16 sm:w-20 sm:h-20 md:w-24 md:h-24
|
||||
bg-[#d4af37]/10 rounded-2xl mb-4 sm:mb-5 md:mb-6 lg:mb-8 border border-[#d4af37]/30"
|
||||
bg-[var(--luxury-gold)]/10 rounded-2xl mb-4 sm:mb-5 md:mb-6 lg:mb-8 border border-[var(--luxury-gold)]/30"
|
||||
>
|
||||
<Hotel className="w-8 h-8 sm:w-10 sm:h-10 md:w-12 md:h-12 text-[#d4af37]" />
|
||||
<Hotel className="w-8 h-8 sm:w-10 sm:h-10 md:w-12 md:h-12 text-[var(--luxury-gold)]" />
|
||||
</div>
|
||||
<h3 className="text-lg sm:text-xl md:text-2xl font-serif font-semibold
|
||||
text-white mb-3 sm:mb-4 tracking-wide px-2"
|
||||
@@ -339,10 +339,10 @@ const RoomListPage: React.FC = () => {
|
||||
</p>
|
||||
<button
|
||||
onClick={() => window.location.href = '/rooms'}
|
||||
className="px-5 sm:px-6 md:px-8 py-2.5 sm:py-3 bg-gradient-to-r from-[#d4af37] to-[#c9a227]
|
||||
className="px-5 sm:px-6 md:px-8 py-2.5 sm:py-3 bg-gradient-to-r from-[var(--luxury-gold)] to-[var(--luxury-gold-dark)]
|
||||
text-[#0f0f0f] rounded-sm font-medium tracking-wide text-sm sm:text-base
|
||||
hover:from-[#f5d76e] hover:to-[#d4af37] active:scale-95
|
||||
transition-all duration-300 shadow-lg shadow-[#d4af37]/30
|
||||
hover:from-[var(--luxury-gold-light)] hover:to-[var(--luxury-gold)] active:scale-95
|
||||
transition-all duration-300 shadow-lg shadow-[var(--luxury-gold)]/30
|
||||
touch-manipulation min-h-[44px]"
|
||||
>
|
||||
Clear Filters
|
||||
@@ -355,8 +355,8 @@ const RoomListPage: React.FC = () => {
|
||||
{}
|
||||
<div className="mb-3 sm:mb-4 md:mb-5 flex flex-col sm:flex-row items-start sm:items-center justify-between gap-2 sm:gap-3">
|
||||
<p className="text-gray-400 font-light tracking-wide text-xs sm:text-sm md:text-base">
|
||||
Showing <span className="text-[#d4af37] font-medium">{rooms.length}</span> of{' '}
|
||||
<span className="text-[#d4af37] font-medium">{pagination.total}</span> rooms
|
||||
Showing <span className="text-[var(--luxury-gold)] font-medium">{rooms.length}</span> of{' '}
|
||||
<span className="text-[var(--luxury-gold)] font-medium">{pagination.total}</span> rooms
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -370,7 +370,7 @@ const RoomListPage: React.FC = () => {
|
||||
</div>
|
||||
|
||||
{pagination.totalPages > 1 && (
|
||||
<div className="mt-4 sm:mt-5 md:mt-6 pt-3 sm:pt-4 border-t border-[#d4af37]/20">
|
||||
<div className="mt-4 sm:mt-5 md:mt-6 pt-3 sm:pt-4 border-t border-[var(--luxury-gold)]/20">
|
||||
<Pagination
|
||||
currentPage={pagination.page}
|
||||
totalPages={pagination.totalPages}
|
||||
|
||||
Reference in New Issue
Block a user