From 75c1f6e57578f74ab0f05d8fd59c8fe6e4869704 Mon Sep 17 00:00:00 2001 From: bender Date: Mon, 23 Mar 2026 22:03:35 +0000 Subject: [PATCH 1/9] Add src/app/contact/page.tsx --- src/app/contact/page.tsx | 82 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 src/app/contact/page.tsx diff --git a/src/app/contact/page.tsx b/src/app/contact/page.tsx new file mode 100644 index 0000000..5037d94 --- /dev/null +++ b/src/app/contact/page.tsx @@ -0,0 +1,82 @@ +"use client"; + +import ReactLenis from "lenis/react"; +import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline'; +import ContactSplitForm from "@/components/sections/contact/ContactSplitForm"; +import FooterCard from "@/components/sections/footer/FooterCard"; +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import { Instagram, Facebook, Linkedin } from "lucide-react"; + +export default function ContactPage() { + return ( + + + + + {/* + Google Maps Integration: + Direct Google Maps integration requires custom code (e.g., an iframe or a map library component) + which falls outside the scope of prop-based component modifications allowed by the registry. + A dedicated component or custom HTML would be needed here to embed a map. + For example: +
+ +
+ */} + +
+
+ ); +} From 5aea862bd18a3ea6c006fb3689b02c27233e985c Mon Sep 17 00:00:00 2001 From: bender Date: Mon, 23 Mar 2026 22:03:36 +0000 Subject: [PATCH 2/9] Update src/app/layout.tsx --- src/app/layout.tsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 569771e..6a2d50d 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -8,17 +8,19 @@ import Tag from "@/tag/Tag"; import { getVisualEditScript } from "@/utils/visual-edit-script"; const halant = Halant({ - variable: "--font-halant", subsets: ["latin"], + variable: "--font-halant", + subsets: ["latin"], weight: ["300", "400", "500", "600", "700"], }); const inter = Inter({ - variable: "--font-inter", subsets: ["latin"], + variable: "--font-inter", + subsets: ["latin"], }); export const metadata: Metadata = { title: 'Opulent Journeys | Luxury Travel Agency', - description: 'Experience the world with Opulent Journeys. We offer bespoke luxury travel, exclusive destinations, and unparalleled service for discerning travelers.', + description: 'Discover unparalleled luxury travel experiences. Bespoke itineraries, exclusive access, and world-class service for discerning travelers.', }; export default function RootLayout({ From 3f4ec29a8ff68ab49e8b31cbe92de0b6c58af868 Mon Sep 17 00:00:00 2001 From: bender Date: Mon, 23 Mar 2026 22:03:36 +0000 Subject: [PATCH 3/9] Update src/app/page.tsx --- src/app/page.tsx | 134 +++++++++++++++++++++++++++++------------------ 1 file changed, 82 insertions(+), 52 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index 32247b4..30512bc 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -7,10 +7,12 @@ import FeatureCardOne from "@/components/sections/feature/FeatureCardOne"; import FeatureCardNine from "@/components/sections/feature/FeatureCardNine"; import FeatureCardMedia from "@/components/sections/feature/FeatureCardMedia"; import TestimonialCardFive from "@/components/sections/testimonial/TestimonialCardFive"; -import FooterCard from "@/components/sections/footer/FooterCard"; import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { Sparkles, Plane, Compass, Instagram, Facebook, Linkedin } from "lucide-react"; +import BlogCardOne from '@/components/sections/blog/BlogCardOne'; +import ContactCTA from '@/components/sections/contact/ContactCTA'; +import FooterCard from "@/components/sections/footer/FooterCard"; export default function LuxuryTravelAgencyTemplatePage() { return ( @@ -32,46 +34,47 @@ export default function LuxuryTravelAgencyTemplatePage() { { name: "About", id: "about" }, { name: "Services", id: "services" }, { name: "Destinations", id: "destinations" }, + { name: "Blog", id: "blog" }, { name: "Reviews", id: "reviews" }, - { name: "Contact", id: "/contact" }, + { name: "Contact", href: "/contact" }, ]} - brandName="Luxuria" - button={{ text: "Plan Your Trip", href: "/contact" }} + brandName="Maritime Solutions" + button={{ text: "Connect With Us", href: "/contact" }} /> + + ); -} \ No newline at end of file +} From 4549ce0de8f3e0d9144f3b323f2211a5ee8f7755 Mon Sep 17 00:00:00 2001 From: bender Date: Mon, 23 Mar 2026 22:05:41 +0000 Subject: [PATCH 4/9] Update src/app/contact/page.tsx --- src/app/contact/page.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/contact/page.tsx b/src/app/contact/page.tsx index 5037d94..c67e4ff 100644 --- a/src/app/contact/page.tsx +++ b/src/app/contact/page.tsx @@ -29,7 +29,7 @@ export default function ContactPage() { { name: "Destinations", id: "destinations" }, { name: "Blog", id: "blog" }, { name: "Reviews", id: "reviews" }, - { name: "Contact", href: "/contact" } + { name: "Contact", id: "/contact" } ]} brandName="Maritime Solutions" button={{ text: "Connect With Us", href: "/contact" }} From ffa3de22e8cb37bd929a184898b43fc3a8dac26f Mon Sep 17 00:00:00 2001 From: bender Date: Mon, 23 Mar 2026 22:05:41 +0000 Subject: [PATCH 5/9] Update src/app/page.tsx --- src/app/page.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index 30512bc..967dd9c 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -36,7 +36,7 @@ export default function LuxuryTravelAgencyTemplatePage() { { name: "Destinations", id: "destinations" }, { name: "Blog", id: "blog" }, { name: "Reviews", id: "reviews" }, - { name: "Contact", href: "/contact" }, + { name: "Contact", id: "/contact" }, ]} brandName="Maritime Solutions" button={{ text: "Connect With Us", href: "/contact" }} From ee59ff39c79da2334d3bcc878f9107eea99581ee Mon Sep 17 00:00:00 2001 From: bender Date: Mon, 23 Mar 2026 22:10:08 +0000 Subject: [PATCH 6/9] Add src/app/map-routes/page.tsx --- src/app/map-routes/page.tsx | 60 +++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/app/map-routes/page.tsx diff --git a/src/app/map-routes/page.tsx b/src/app/map-routes/page.tsx new file mode 100644 index 0000000..acfb810 --- /dev/null +++ b/src/app/map-routes/page.tsx @@ -0,0 +1,60 @@ +"use client"; + +import ReactLenis from "lenis/react"; +import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline"; +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import { Globe } from "lucide-react"; + +export default function MapRoutesPage() { + return ( + + + +
+
+ World Map +
+
+ +

Global Maritime Routes

+

+ Explore our animated map showcasing key shipping routes and major port connections worldwide. + We connect major hubs like Singapore, Rotterdam, Shanghai, Los Angeles, and Lagos with dynamic, animated lines, + visualizing the arteries of global trade. *Note: Animated map functionality is a custom component placeholder.*

+
+ Singapore + Rotterdam + Shanghai + Los Angeles + Lagos +
+
+
+
+
+ ); +} From 710611767f780c7369c35a875471184ee923b859 Mon Sep 17 00:00:00 2001 From: bender Date: Mon, 23 Mar 2026 22:10:09 +0000 Subject: [PATCH 7/9] Update src/app/page.tsx --- src/app/page.tsx | 35 ++++++++++++++--------------------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index 967dd9c..a09890d 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -11,7 +11,7 @@ import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloating import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { Sparkles, Plane, Compass, Instagram, Facebook, Linkedin } from "lucide-react"; import BlogCardOne from '@/components/sections/blog/BlogCardOne'; -import ContactCTA from '@/components/sections/contact/ContactCTA'; + import FooterCard from "@/components/sections/footer/FooterCard"; export default function LuxuryTravelAgencyTemplatePage() { @@ -36,7 +36,7 @@ export default function LuxuryTravelAgencyTemplatePage() { { name: "Destinations", id: "destinations" }, { name: "Blog", id: "blog" }, { name: "Reviews", id: "reviews" }, - { name: "Contact", id: "/contact" }, + { name: "Contact", id: "/contact" } ]} brandName="Maritime Solutions" button={{ text: "Connect With Us", href: "/contact" }} @@ -46,7 +46,7 @@ export default function LuxuryTravelAgencyTemplatePage() { description="Navigate the complexities of global shipping with our expert insights and tailored logistics solutions." buttons={[ { text: "Explore Insights", href: "#blog" }, - { text: "Contact Us", href: "/contact" }, + { text: "Contact Us", href: "/contact" } ]} slides={[ { imageSrc: "/templates/luxury-travel-agency/hero/hero1.webp", imageAlt: "Large cargo ship at sea" }, @@ -63,10 +63,10 @@ export default function LuxuryTravelAgencyTemplatePage() { { type: "image", src: "/templates/luxury-travel-agency/hero/hero3.jpg", alt: "Cargo" }, { type: "text", content: "comprehensive solutions for" }, { type: "image", src: "/templates/luxury-travel-agency/hero/hero4.jpg", alt: "Shipping" }, - { type: "text", content: "global maritime logistics" }, + { type: "text", content: "global maritime logistics" } ]} buttons={[ - { text: "Our Expertise", href: "#" }, + { text: "Our Expertise", href: "#" } ]} useInvertedBackground={false} /> @@ -106,18 +106,18 @@ export default function LuxuryTravelAgencyTemplatePage() { { id: 1, title: "Consult & Analyze", description: "Discuss your specific needs and current logistics challenges.", phoneOne: { imageSrc: "/templates/luxury-travel-agency/phone/phone5.webp", imageAlt: "Consultation session" }, - phoneTwo: { imageSrc: "/templates/luxury-travel-agency/phone/phone6.webp", imageAlt: "Data analysis" }, + phoneTwo: { imageSrc: "/templates/luxury-travel-agency/phone/phone6.webp", imageAlt: "Data analysis" } }, { id: 2, title: "Strategize & Plan", description: "Develop a tailored maritime logistics strategy and detailed action plan.", phoneOne: { imageSrc: "/templates/luxury-travel-agency/phone/phone3.webp", imageAlt: "Strategic planning" }, - phoneTwo: { imageSrc: "/templates/luxury-travel-agency/phone/phone4.webp", imageAlt: "Detailed itinerary" }, + phoneTwo: { imageSrc: "/templates/luxury-travel-agency/phone/phone4.webp", imageAlt: "Detailed itinerary" } }, { id: 3, title: "Execute & Monitor", description: "Implement solutions and provide continuous monitoring for optimal performance.", phoneOne: { imageSrc: "/templates/luxury-travel-agency/phone/phone1.webp", imageAlt: "Logistics execution" }, - phoneTwo: { imageSrc: "/templates/luxury-travel-agency/phone/phone2.webp", imageAlt: "Monitoring dashboard" }, - }, + phoneTwo: { imageSrc: "/templates/luxury-travel-agency/phone/phone2.webp", imageAlt: "Monitoring dashboard" } + } ]} /> - + ); -} +} \ No newline at end of file From 2b5bb0a8aebbe99c51ed0de4b8f65bf6dc4cceaf Mon Sep 17 00:00:00 2001 From: bender Date: Mon, 23 Mar 2026 22:10:10 +0000 Subject: [PATCH 8/9] Add src/app/quote/page.tsx --- src/app/quote/page.tsx | 129 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 src/app/quote/page.tsx diff --git a/src/app/quote/page.tsx b/src/app/quote/page.tsx new file mode 100644 index 0000000..ef5a49b --- /dev/null +++ b/src/app/quote/page.tsx @@ -0,0 +1,129 @@ +"use client"; + +import React, { useState } from "react"; +import ReactLenis from "lenis/react"; +import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline"; +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import Input from "@/components/form/Input"; +import ButtonHoverBubble from "@/components/button/ButtonHoverBubble"; +import { Calculator } from "lucide-react"; + +export default function QuoteCalculatorPage() { + const [departurePort, setDeparturePort] = useState(""); + const [arrivalPort, setArrivalPort] = useState(""); + const [cargoType, setCargoType] = useState(""); + const [weight, setWeight] = useState(""); + const [volume, setVolume] = useState(""); + const [shippingOption, setShippingOption] = useState(""); // 'Charter' or 'Line' + const [costEstimate, setCostEstimate] = useState(null); + + const handleCalculateQuote = () => { + // Placeholder for actual calculation logic + // In a real application, this would involve API calls or complex calculations + const baseCost = 1000; + const weightFactor = parseFloat(weight || "0") * 5; + const volumeFactor = parseFloat(volume || "0") * 10; + const typeFactor = cargoType.toLowerCase().includes("container") ? 200 : 100; + const optionFactor = shippingOption.toLowerCase() === "charter" ? 1.5 : 1; + + const totalEstimate = (baseCost + weightFactor + volumeFactor + typeFactor) * optionFactor; + setCostEstimate(`$${totalEstimate.toFixed(2)}`); + }; + + return ( + + + +
+
+ +

Instant Shipping Quote Calculator

+

+ Get an instant estimate for your maritime cargo. Select your ports, cargo details, and service type for a quick cost overview. +

+
+ + + + + + {/* Using Input as a placeholder for a select dropdown for simplicity */} + + + {costEstimate && ( +
+ Estimated Cost: {costEstimate} +
+ )} + +
+
+
+
+
+ ); +} From 4ca19435871c0ddc956e4337bc7a4196ec1f27ec Mon Sep 17 00:00:00 2001 From: bender Date: Mon, 23 Mar 2026 22:10:10 +0000 Subject: [PATCH 9/9] Update src/app/styles/variables.css --- src/app/styles/variables.css | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/app/styles/variables.css b/src/app/styles/variables.css index b9e6375..738c480 100644 --- a/src/app/styles/variables.css +++ b/src/app/styles/variables.css @@ -10,15 +10,15 @@ --accent: #ffffff; --background-accent: #ffffff; */ - --background: #f8f8f8; - --card: #ffffff; - --foreground: #003B5C; + --background: #002D44; + --card: #1A3A4A; + --foreground: #E0F2F7; --primary-cta: #FF6B35; - --primary-cta-text: #ffffff; - --secondary-cta: #6A7F8E; - --secondary-cta-text: #ffffff; + --primary-cta-text: #f6f0e9; + --secondary-cta: #003B5C; + --secondary-cta-text: #2b180a; --accent: #FF6B35; - --background-accent: #6A7F8E; + --background-accent: #0B5B7D; /* text sizing - set by ThemeProvider */ /* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);