|
|
@@ -9,240 +9,241 @@ import { useLocation, Link } from 'react-router-dom';
|
|
|
import { ArrowRight, Anchor, Star, ChevronRight } from 'lucide-react';
|
|
|
|
|
|
const Ships: React.FC = () => {
|
|
|
- const { language } = useLanguage();
|
|
|
- const { shipsPageImages } = useTheme();
|
|
|
- // We explicitly type 'any' here or assume CONTENT structure is updated because
|
|
|
- // TS might not immediately pick up the new keys added to constants without a full types reload in this context.
|
|
|
- // In a real app, types.ts should be updated, but here we access the object properties.
|
|
|
- const t = CONTENT[language].shipsPage as any;
|
|
|
- const location = useLocation();
|
|
|
-
|
|
|
- // Scroll to section on load or location change
|
|
|
- useEffect(() => {
|
|
|
- const params = new URLSearchParams(location.search);
|
|
|
- const section = params.get('section');
|
|
|
-
|
|
|
- // Always scroll to top first
|
|
|
- if (!section) {
|
|
|
- window.scrollTo({ top: 0, behavior: 'smooth' });
|
|
|
- } else {
|
|
|
- const element = document.getElementById(section);
|
|
|
- if (element) {
|
|
|
- // Small delay to ensure render
|
|
|
- setTimeout(() => {
|
|
|
- element.scrollIntoView({ behavior: 'smooth' });
|
|
|
- }, 300);
|
|
|
+ const { language } = useLanguage();
|
|
|
+ const { shipsPageImages } = useTheme();
|
|
|
+ // We explicitly type 'any' here or assume CONTENT structure is updated because
|
|
|
+ // TS might not immediately pick up the new keys added to constants without a full types reload in this context.
|
|
|
+ // In a real app, types.ts should be updated, but here we access the object properties.
|
|
|
+ const t = CONTENT[language].shipsPage as any;
|
|
|
+ const location = useLocation();
|
|
|
+
|
|
|
+ // Scroll to section on load or location change
|
|
|
+ useEffect(() => {
|
|
|
+ const params = new URLSearchParams(location.search);
|
|
|
+ const section = params.get('section');
|
|
|
+
|
|
|
+ // Always scroll to top first
|
|
|
+ if (!section) {
|
|
|
+ window.scrollTo({ top: 0, behavior: 'smooth' });
|
|
|
+ } else {
|
|
|
+ const element = document.getElementById(section);
|
|
|
+ if (element) {
|
|
|
+ // Small delay to ensure render
|
|
|
+ setTimeout(() => {
|
|
|
+ element.scrollIntoView({ behavior: 'smooth' });
|
|
|
+ }, 300);
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- }, [location]);
|
|
|
-
|
|
|
- return (
|
|
|
- <div className="min-h-screen bg-white font-sans text-vista-darkblue overflow-x-hidden">
|
|
|
- <Navbar />
|
|
|
- <Sidebar />
|
|
|
-
|
|
|
- {/* Hero Section */}
|
|
|
- <div className="relative h-[70vh] w-full bg-vista-darkblue flex items-center justify-center overflow-hidden">
|
|
|
- <div className="absolute inset-0 bg-black/40 z-10"></div>
|
|
|
- <img
|
|
|
- src="https://images.unsplash.com/photo-1548291616-3c0f5f743538?q=80&w=1920&auto=format&fit=crop"
|
|
|
- alt="Ships Hero"
|
|
|
- className="absolute inset-0 w-full h-full object-cover animate-slow-zoom"
|
|
|
- loading="lazy"
|
|
|
- />
|
|
|
- <div className="relative z-20 text-center text-white px-4 animate-fade-in-up">
|
|
|
- <span className="block text-sm md:text-base tracking-[0.3em] uppercase mb-4 text-vista-gold">{t.hero_sub}</span>
|
|
|
- <h1 className="text-5xl md:text-8xl font-serif italic mb-6">{CONTENT[language].nav.menu[1].title}</h1>
|
|
|
- <p className="max-w-xl mx-auto text-white/80 font-light text-lg">
|
|
|
- {t.hero_desc}
|
|
|
- </p>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- {/* Section 1: Vista Series Intro */}
|
|
|
- <section id="series" className="py-24 max-w-7xl mx-auto px-6">
|
|
|
- <div className="flex flex-col lg:flex-row gap-16 items-start">
|
|
|
- {/* Left: Text Content */}
|
|
|
- <div className="lg:w-3/5 space-y-12">
|
|
|
- <div>
|
|
|
- <h2 className="text-4xl md:text-5xl font-serif text-vista-darkblue mb-8 leading-tight">
|
|
|
- {t.intro.title}
|
|
|
- </h2>
|
|
|
- <div className="w-20 h-1 bg-vista-gold mb-8"></div>
|
|
|
- <p className="text-xl font-light leading-relaxed text-vista-darkblue/80">
|
|
|
- {t.intro.desc}
|
|
|
+ }, [location]);
|
|
|
+
|
|
|
+ return (
|
|
|
+ <div className="min-h-screen bg-white font-sans text-vista-darkblue overflow-x-hidden">
|
|
|
+ <Navbar />
|
|
|
+ <Sidebar />
|
|
|
+
|
|
|
+ {/* Hero Section */}
|
|
|
+ <div className="relative h-[70vh] w-full bg-vista-darkblue flex items-center justify-center overflow-hidden">
|
|
|
+ <div className="absolute inset-0 bg-black/40 z-10"></div>
|
|
|
+ <img
|
|
|
+ src="https://images.unsplash.com/photo-1548291616-3c0f5f743538?q=80&w=1920&auto=format&fit=crop"
|
|
|
+ alt="Ships Hero"
|
|
|
+ className="absolute inset-0 w-full h-full object-cover animate-slow-zoom"
|
|
|
+ loading="lazy"
|
|
|
+ />
|
|
|
+ <div className="relative z-20 text-center text-white px-4 animate-fade-in-up">
|
|
|
+ <span className="block text-sm md:text-base tracking-[0.3em] uppercase mb-4 text-vista-gold">{t.hero_sub}</span>
|
|
|
+ <h1 className="text-5xl md:text-8xl font-serif italic mb-6">{CONTENT[language].nav.menu[1].title}</h1>
|
|
|
+ <p className="max-w-xl mx-auto text-white/80 font-light text-lg">
|
|
|
+ {t.hero_desc}
|
|
|
</p>
|
|
|
</div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ {/* Section 1: Vista Series Intro */}
|
|
|
+ <section id="series" className="py-24 max-w-7xl mx-auto px-6">
|
|
|
+ <div className="flex flex-col lg:flex-row gap-16 items-start">
|
|
|
+ {/* Left: Text Content */}
|
|
|
+ <div className="lg:w-3/5 space-y-12">
|
|
|
+ <div>
|
|
|
+ <h2 className="text-4xl md:text-5xl font-serif text-vista-darkblue mb-8 leading-tight">
|
|
|
+ {t.intro.title}
|
|
|
+ </h2>
|
|
|
+ <div className="w-20 h-1 bg-vista-gold mb-8"></div>
|
|
|
+ <p className="text-xl font-light leading-relaxed text-vista-darkblue/80">
|
|
|
+ {t.intro.desc}
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
|
|
|
- <div className="space-y-12">
|
|
|
- {t.intro.points.map((point: any, index: number) => (
|
|
|
- <div key={index} className="flex gap-8 group">
|
|
|
+ <div className="space-y-12">
|
|
|
+ {t.intro.points.map((point: any, index: number) => (
|
|
|
+ <div key={index} className="flex gap-8 group">
|
|
|
<span className="text-6xl font-serif text-vista-gold/20 font-bold -mt-2 group-hover:text-vista-gold/40 transition-colors duration-500">
|
|
|
0{index + 1}
|
|
|
</span>
|
|
|
- <div>
|
|
|
- <h3 className="text-xl font-bold text-vista-darkblue mb-3 uppercase tracking-wider">{point.title}</h3>
|
|
|
- <p className="text-vista-darkblue/70 leading-relaxed">{point.desc}</p>
|
|
|
- </div>
|
|
|
+ <div>
|
|
|
+ <h3 className="text-xl font-bold text-vista-darkblue mb-3 uppercase tracking-wider">{point.title}</h3>
|
|
|
+ <p className="text-vista-darkblue/70 leading-relaxed">{point.desc}</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ ))}
|
|
|
</div>
|
|
|
- ))}
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
|
|
|
- {/* Right: Navigation Cards */}
|
|
|
- <div className="lg:w-2/5 flex flex-col gap-8 sticky top-24">
|
|
|
- <Link to="/ships?section=lanyue" className="group relative h-72 overflow-hidden block shadow-2xl rounded-sm">
|
|
|
- <img
|
|
|
- src={shipsPageImages.lanyue[0]}
|
|
|
- alt="Lanyue"
|
|
|
- className="w-full h-full object-cover transition-transform duration-700 group-hover:scale-110"
|
|
|
- loading="lazy"
|
|
|
- />
|
|
|
- <div className="absolute inset-0 bg-gradient-to-t from-black/80 via-transparent to-transparent opacity-90 transition-opacity"></div>
|
|
|
- <div className="absolute bottom-8 left-8 text-white">
|
|
|
- <span className="text-xs uppercase tracking-widest block mb-2 text-vista-gold">{t.now_sailing}</span>
|
|
|
- <span className="text-3xl font-serif italic flex items-center gap-4">
|
|
|
+ {/* Right: Navigation Cards */}
|
|
|
+ <div className="lg:w-2/5 flex flex-col gap-8 sticky top-24">
|
|
|
+ <Link to="/ships?section=lanyue" className="group relative h-72 overflow-hidden block shadow-2xl rounded-sm">
|
|
|
+ <img
|
|
|
+ src={shipsPageImages.lanyue[0]}
|
|
|
+ alt="Lanyue"
|
|
|
+ className="w-full h-full object-cover transition-transform duration-700 group-hover:scale-110"
|
|
|
+ loading="lazy"
|
|
|
+ />
|
|
|
+ <div className="absolute inset-0 bg-gradient-to-t from-black/80 via-transparent to-transparent opacity-90 transition-opacity"></div>
|
|
|
+ <div className="absolute bottom-8 left-8 text-white">
|
|
|
+ <span className="text-xs uppercase tracking-widest block mb-2 text-vista-gold">{t.now_sailing}</span>
|
|
|
+ <span className="text-3xl font-serif italic flex items-center gap-4">
|
|
|
{t.lanyue.title} <ArrowRight size={24} className="transform group-hover:translate-x-4 transition-transform text-vista-gold" />
|
|
|
</span>
|
|
|
+ </div>
|
|
|
+ </Link>
|
|
|
+
|
|
|
+ <Link to="/ships?section=aurora" className="group relative h-72 overflow-hidden block shadow-2xl rounded-sm">
|
|
|
+ <img
|
|
|
+ src={shipsPageImages.aurora}
|
|
|
+ alt="Aurora"
|
|
|
+ className="w-full h-full object-cover transition-transform duration-700 group-hover:scale-110 grayscale group-hover:grayscale-0"
|
|
|
+ loading="lazy"
|
|
|
+ />
|
|
|
+ <div className="absolute inset-0 bg-gradient-to-t from-black/80 via-transparent to-transparent opacity-90 transition-opacity"></div>
|
|
|
+ <div className="absolute bottom-8 left-8 text-white">
|
|
|
+ <span className="text-xs uppercase tracking-widest block mb-2 text-vista-gold">{t.coming_soon}</span>
|
|
|
+ <span className="text-3xl font-serif italic flex items-center gap-4">
|
|
|
+ {t.aurora.title} <ArrowRight size={24} className="transform group-hover:translate-x-4 transition-transform text-vista-gold" />
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </Link>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </section>
|
|
|
+
|
|
|
+ {/* Divider */}
|
|
|
+ <div className="w-full h-px bg-vista-darkblue/10 max-w-7xl mx-auto"></div>
|
|
|
+
|
|
|
+ {/* Section 2: Vista Lanyue Details */}
|
|
|
+ <section id="lanyue" className="py-32 bg-vista-gray relative">
|
|
|
+ {/* Background Decor */}
|
|
|
+ <div className="absolute top-0 right-0 w-1/3 h-full bg-white/50 skew-x-12 hidden lg:block pointer-events-none"></div>
|
|
|
+
|
|
|
+ <div className="max-w-7xl mx-auto px-6 relative z-10">
|
|
|
+ <div className="text-center mb-20 max-w-4xl mx-auto">
|
|
|
+ <div className="flex items-center justify-center gap-4 mb-6">
|
|
|
+ <div className="h-px w-12 bg-vista-gold"></div>
|
|
|
+ <span className="text-vista-gold uppercase tracking-widest text-sm font-bold">{t.flagship_label}</span>
|
|
|
+ <div className="h-px w-12 bg-vista-gold"></div>
|
|
|
+ </div>
|
|
|
+ <h2 className="text-5xl md:text-7xl font-serif text-vista-darkblue mb-10">{t.lanyue.title}</h2>
|
|
|
+ <p className="text-vista-darkblue/70 text-lg md:text-xl leading-relaxed font-light">
|
|
|
+ {t.lanyue.desc}
|
|
|
+ </p>
|
|
|
+
|
|
|
+ <div className="mt-12 flex justify-center gap-6">
|
|
|
+ <div className="flex flex-col items-center gap-2 px-6 border-r border-vista-darkblue/10">
|
|
|
+ <Anchor size={24} className="text-vista-gold" />
|
|
|
+ <span className="text-xs uppercase tracking-widest font-bold">{t.stats_tons}</span>
|
|
|
+ </div>
|
|
|
+ <div className="flex flex-col items-center gap-2 px-6 border-r border-vista-darkblue/10">
|
|
|
+ <Star size={24} className="text-vista-gold" />
|
|
|
+ <span className="text-xs uppercase tracking-widest font-bold">{t.stats_stars}</span>
|
|
|
+ </div>
|
|
|
+ <div className="flex flex-col items-center gap-2 px-6">
|
|
|
+ <span className="text-xl font-serif font-bold text-vista-gold">1:1</span>
|
|
|
+ <span className="text-xs uppercase tracking-widest font-bold">{t.stats_ratio}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </Link>
|
|
|
|
|
|
- <Link to="/ships?section=aurora" className="group relative h-72 overflow-hidden block shadow-2xl rounded-sm">
|
|
|
- <img
|
|
|
+ {/* Lanyue Image Grid (Masonry style) */}
|
|
|
+ <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-12 gap-4 auto-rows-[200px]">
|
|
|
+ {/* Large Hero Image */}
|
|
|
+ <div className="lg:col-span-8 lg:row-span-2 relative group overflow-hidden shadow-lg">
|
|
|
+ <img
|
|
|
+ src={shipsPageImages.lanyue[0]}
|
|
|
+ alt="Lanyue Exterior"
|
|
|
+ className="w-full h-full object-cover transition-transform duration-1000 group-hover:scale-105"
|
|
|
+ loading="lazy"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ {/* Smaller Detail Images */}
|
|
|
+ <div className="lg:col-span-4 lg:row-span-1 relative group overflow-hidden shadow-lg">
|
|
|
+ <img
|
|
|
+ src={shipsPageImages.lanyue[1]}
|
|
|
+ alt="Lanyue Interior"
|
|
|
+ className="w-full h-full object-cover transition-transform duration-1000 group-hover:scale-105"
|
|
|
+ loading="lazy"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ <div className="lg:col-span-4 lg:row-span-1 relative group overflow-hidden shadow-lg">
|
|
|
+ <img
|
|
|
+ src={shipsPageImages.lanyue[2]}
|
|
|
+ alt="Lanyue Deck"
|
|
|
+ className="w-full h-full object-cover transition-transform duration-1000 group-hover:scale-105"
|
|
|
+ loading="lazy"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ <div className="lg:col-span-12 lg:row-span-1 relative group overflow-hidden shadow-lg md:hidden lg:block">
|
|
|
+ <img
|
|
|
+ src={shipsPageImages.lanyue[3]}
|
|
|
+ alt="Lanyue Wide"
|
|
|
+ className="w-full h-full object-cover transition-transform duration-1000 group-hover:scale-105"
|
|
|
+ loading="lazy"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div className="mt-16 text-center">
|
|
|
+ <Link to="/itineraries" className="inline-flex items-center gap-3 px-10 py-4 bg-vista-darkblue text-white uppercase tracking-widest text-xs font-bold hover:bg-vista-gold transition-colors duration-300">
|
|
|
+ {t.view_itineraries} <ChevronRight size={16} />
|
|
|
+ </Link>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </section>
|
|
|
+
|
|
|
+ {/* Section 3: Vista Aurora Teaser */}
|
|
|
+ <section id="aurora" className="relative h-screen flex items-center justify-center overflow-hidden bg-black">
|
|
|
+ <div className="absolute inset-0 opacity-70">
|
|
|
+ <img
|
|
|
src={shipsPageImages.aurora}
|
|
|
alt="Aurora"
|
|
|
- className="w-full h-full object-cover transition-transform duration-700 group-hover:scale-110 grayscale group-hover:grayscale-0"
|
|
|
+ className="w-full h-full object-cover animate-slow-zoom"
|
|
|
loading="lazy"
|
|
|
/>
|
|
|
- <div className="absolute inset-0 bg-gradient-to-t from-black/80 via-transparent to-transparent opacity-90 transition-opacity"></div>
|
|
|
- <div className="absolute bottom-8 left-8 text-white">
|
|
|
- <span className="text-xs uppercase tracking-widest block mb-2 text-vista-gold">{t.coming_soon}</span>
|
|
|
- <span className="text-3xl font-serif italic flex items-center gap-4">
|
|
|
- {t.aurora.title} <ArrowRight size={24} className="transform group-hover:translate-x-4 transition-transform text-vista-gold" />
|
|
|
- </span>
|
|
|
+ <div className="absolute inset-0 bg-gradient-to-b from-black via-transparent to-black"></div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div className="relative z-10 text-center text-white px-6 max-w-4xl">
|
|
|
+ <span className="inline-block border border-white/30 px-4 py-1 rounded-full text-xs uppercase tracking-widest mb-8 backdrop-blur-sm">{t.future_label}</span>
|
|
|
+ <h2 className="text-6xl md:text-9xl font-serif italic mb-8 bg-clip-text text-transparent bg-gradient-to-r from-white via-white to-white/50">
|
|
|
+ {t.aurora.title}
|
|
|
+ </h2>
|
|
|
+ <p className="text-xl md:text-2xl font-light tracking-wide mb-12 text-white/90">
|
|
|
+ {t.aurora.desc}
|
|
|
+ </p>
|
|
|
+
|
|
|
+ <div className="flex flex-col md:flex-row items-center justify-center gap-6">
|
|
|
+ <button className="px-10 py-4 bg-white text-black font-bold uppercase text-xs tracking-[0.2em] hover:bg-vista-gold hover:text-white transition-colors">
|
|
|
+ {t.coming_soon}
|
|
|
+ </button>
|
|
|
+ <button className="px-10 py-4 border border-white/30 text-white font-bold uppercase text-xs tracking-[0.2em] hover:bg-white/10 transition-colors backdrop-blur-sm">
|
|
|
+ {t.waitlist_btn}
|
|
|
+ </button>
|
|
|
</div>
|
|
|
- </Link>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </section>
|
|
|
-
|
|
|
- {/* Divider */}
|
|
|
- <div className="w-full h-px bg-vista-darkblue/10 max-w-7xl mx-auto"></div>
|
|
|
-
|
|
|
- {/* Section 2: Vista Lanyue Details */}
|
|
|
- <section id="lanyue" className="py-32 bg-vista-gray relative">
|
|
|
- {/* Background Decor */}
|
|
|
- <div className="absolute top-0 right-0 w-1/3 h-full bg-white/50 skew-x-12 hidden lg:block pointer-events-none"></div>
|
|
|
-
|
|
|
- <div className="max-w-7xl mx-auto px-6 relative z-10">
|
|
|
- <div className="text-center mb-20 max-w-4xl mx-auto">
|
|
|
- <div className="flex items-center justify-center gap-4 mb-6">
|
|
|
- <div className="h-px w-12 bg-vista-gold"></div>
|
|
|
- <span className="text-vista-gold uppercase tracking-widest text-sm font-bold">{t.flagship_label}</span>
|
|
|
- <div className="h-px w-12 bg-vista-gold"></div>
|
|
|
- </div>
|
|
|
- <h2 className="text-5xl md:text-7xl font-serif text-vista-darkblue mb-10">{t.lanyue.title}</h2>
|
|
|
- <p className="text-vista-darkblue/70 text-lg md:text-xl leading-relaxed font-light">
|
|
|
- {t.lanyue.desc}
|
|
|
- </p>
|
|
|
-
|
|
|
- <div className="mt-12 flex justify-center gap-6">
|
|
|
- <div className="flex flex-col items-center gap-2 px-6 border-r border-vista-darkblue/10">
|
|
|
- <Anchor size={24} className="text-vista-gold" />
|
|
|
- <span className="text-xs uppercase tracking-widest font-bold">{t.stats_tons}</span>
|
|
|
- </div>
|
|
|
- <div className="flex flex-col items-center gap-2 px-6 border-r border-vista-darkblue/10">
|
|
|
- <Star size={24} className="text-vista-gold" />
|
|
|
- <span className="text-xs uppercase tracking-widest font-bold">{t.stats_stars}</span>
|
|
|
- </div>
|
|
|
- <div className="flex flex-col items-center gap-2 px-6">
|
|
|
- <span className="text-xl font-serif font-bold text-vista-gold">1:1</span>
|
|
|
- <span className="text-xs uppercase tracking-widest font-bold">{t.stats_ratio}</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- {/* Lanyue Image Grid (Masonry style) */}
|
|
|
- <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-12 gap-4 auto-rows-[200px]">
|
|
|
- {/* Large Hero Image */}
|
|
|
- <div className="lg:col-span-8 lg:row-span-2 relative group overflow-hidden shadow-lg">
|
|
|
- <img
|
|
|
- src={shipsPageImages.lanyue[0]}
|
|
|
- alt="Lanyue Exterior"
|
|
|
- className="w-full h-full object-cover transition-transform duration-1000 group-hover:scale-105"
|
|
|
- loading="lazy"
|
|
|
- />
|
|
|
- </div>
|
|
|
- {/* Smaller Detail Images */}
|
|
|
- <div className="lg:col-span-4 lg:row-span-1 relative group overflow-hidden shadow-lg">
|
|
|
- <img
|
|
|
- src={shipsPageImages.lanyue[1]}
|
|
|
- alt="Lanyue Interior"
|
|
|
- className="w-full h-full object-cover transition-transform duration-1000 group-hover:scale-105"
|
|
|
- loading="lazy"
|
|
|
- />
|
|
|
- </div>
|
|
|
- <div className="lg:col-span-4 lg:row-span-1 relative group overflow-hidden shadow-lg">
|
|
|
- <img
|
|
|
- src={shipsPageImages.lanyue[2]}
|
|
|
- alt="Lanyue Deck"
|
|
|
- className="w-full h-full object-cover transition-transform duration-1000 group-hover:scale-105"
|
|
|
- loading="lazy"
|
|
|
- />
|
|
|
- </div>
|
|
|
- <div className="lg:col-span-12 lg:row-span-1 relative group overflow-hidden shadow-lg md:hidden lg:block">
|
|
|
- <img
|
|
|
- src={shipsPageImages.lanyue[3]}
|
|
|
- alt="Lanyue Wide"
|
|
|
- className="w-full h-full object-cover transition-transform duration-1000 group-hover:scale-105"
|
|
|
- loading="lazy"
|
|
|
- />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div className="mt-16 text-center">
|
|
|
- <Link to="/itineraries" className="inline-flex items-center gap-3 px-10 py-4 bg-vista-darkblue text-white uppercase tracking-widest text-xs font-bold hover:bg-vista-gold transition-colors duration-300">
|
|
|
- {t.view_itineraries} <ChevronRight size={16} />
|
|
|
- </Link>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </section>
|
|
|
-
|
|
|
- {/* Section 3: Vista Aurora Teaser */}
|
|
|
- <section id="aurora" className="relative h-screen flex items-center justify-center overflow-hidden bg-black">
|
|
|
- <div className="absolute inset-0 opacity-70">
|
|
|
- <img
|
|
|
- src={shipsPageImages.aurora}
|
|
|
- alt="Aurora"
|
|
|
- className="w-full h-full object-cover animate-slow-zoom"
|
|
|
- loading="lazy"
|
|
|
- />
|
|
|
- <div className="absolute inset-0 bg-gradient-to-b from-black via-transparent to-black"></div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div className="relative z-10 text-center text-white px-6 max-w-4xl">
|
|
|
- <span className="inline-block border border-white/30 px-4 py-1 rounded-full text-xs uppercase tracking-widest mb-8 backdrop-blur-sm">{t.future_label}</span>
|
|
|
- <h2 className="text-6xl md:text-9xl font-serif italic mb-8 bg-clip-text text-transparent bg-gradient-to-r from-white via-white to-white/50">
|
|
|
- {t.aurora.title}
|
|
|
- </h2>
|
|
|
- <p className="text-xl md:text-2xl font-light tracking-wide mb-12 text-white/90">
|
|
|
- {t.aurora.desc}
|
|
|
- </p>
|
|
|
-
|
|
|
- <div className="flex flex-col md:flex-row items-center justify-center gap-6">
|
|
|
- <button className="px-10 py-4 bg-white text-black font-bold uppercase text-xs tracking-[0.2em] hover:bg-vista-gold hover:text-white transition-colors">
|
|
|
- {t.coming_soon}
|
|
|
- </button>
|
|
|
- <button className="px-10 py-4 border border-white/30 text-white font-bold uppercase text-xs tracking-[0.2em] hover:bg-white/10 transition-colors backdrop-blur-sm">
|
|
|
- {t.waitlist_btn}
|
|
|
- </button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </section>
|
|
|
-
|
|
|
- <Footer />
|
|
|
- </div>
|
|
|
- );
|
|
|
+ </div>
|
|
|
+ </section>
|
|
|
+
|
|
|
+
|
|
|
+ <Footer />
|
|
|
+ </div>
|
|
|
+ );
|
|
|
};
|
|
|
|
|
|
export default Ships;
|