This commit is contained in:
2025-08-26 22:37:02 +02:00
parent 768511baf6
commit 19382d5268
11 changed files with 72 additions and 26 deletions

View File

@@ -1,9 +1,12 @@
/** @type {import('next').NextConfig} */ /** @type {import('next').NextConfig} */
const nextConfig = { const nextConfig = {
output: 'export', // Only use export mode for production builds
trailingSlash: true, ...(process.env.NODE_ENV === 'production' && {
skipTrailingSlashRedirect: true, output: 'export',
distDir: 'out', trailingSlash: true,
skipTrailingSlashRedirect: true,
distDir: 'out',
}),
basePath: process.env.NEXT_PUBLIC_BASE_PATH || '', basePath: process.env.NEXT_PUBLIC_BASE_PATH || '',
images: { images: {
unoptimized: true unoptimized: true

BIN
public/images/journey1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 485 KiB

BIN
public/images/journey2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 KiB

View File

@@ -21,7 +21,8 @@ import CnnVideo from '@/components/CNNVIDEO'
import { CallToAction4 } from '@/components/CallToAction4' import { CallToAction4 } from '@/components/CallToAction4'
import { Logos } from '@/components/Logos' import { Logos } from '@/components/Logos'
import { Hero2 } from '@/components/Hero2' import { Hero2 } from '@/components/Hero2'
import { Cta } from '@/components/CTA' import { Callto } from '@/components/Callto'
import { Journey } from '@/components/Journey'
export default function Home() { export default function Home() {
@@ -31,12 +32,9 @@ export default function Home() {
<main> <main>
<Hero2 /> <Hero2 />
<Logos /> <Logos />
<Cta /> <Callto />
<CallToAction />
<Boat /> <Boat />
<CallToAction4 /> <Journey />
<Experiences />
<Carousel />
<Route /> <Route />
<CnnVideo /> <CnnVideo />
<Testimonials /> <Testimonials />

View File

@@ -162,18 +162,18 @@ export function Boat() {
} }
return ( return (
<div className="pt-16 pb-12 bg-transparent"> <div className="pt-24 pb-12 bg-transparent">
<Container> <Container>
<div className="grid grid-cols-1 lg:grid-cols-12 gap-8 lg:gap-12 items-start"> <div className="grid grid-cols-1 lg:grid-cols-12 gap-8 lg:gap-12 items-center">
{/* Text Content - Left Side */} {/* Text Content - Left Side */}
<div ref={setReferenceWindowRef} className="lg:col-span-4"> <div ref={setReferenceWindowRef} className="lg:col-span-4">
<H2 className=""> <H2 className="">
Dahabiyas Dahabiyas
</H2> </H2>
<PS className=""> <PS className="mt-4">
Discover peaceful platforms where every detail ensures a truly memorable stay. Discover peaceful platforms where every detail ensures a truly memorable stay.
</PS > </PS >
<PS className="mb-6"> <PS className="mt-2 mb-6">
Our fleet of traditional dahabiyas combines authentic Nile heritage with modern comfort, offering intimate sailing experiences that connect you with Egypt's timeless river culture. Our fleet of traditional dahabiyas combines authentic Nile heritage with modern comfort, offering intimate sailing experiences that connect you with Egypt's timeless river culture.
</PS> </PS>
<Button href="/dahabiyas" variant="link" color="darkgr" className="mt-6"> <Button href="/dahabiyas" variant="link" color="darkgr" className="mt-6">

View File

@@ -3,11 +3,11 @@ import clsx from 'clsx'
const baseStyles = { const baseStyles = {
solid: solid:
'group inline-flex items-center justify-center rounded-xl py-1.5 px-2 text-xs lg:text-sm font-medium focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2', 'group inline-flex items-center justify-center py-1.5 px-2 text-xs lg:text-sm font-medium focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2',
solidNoRounded: solidNoRounded:
'group inline-flex items-center justify-center py-1.5 px-3.5 lg:py-2 lg:px-4 text-xs lg:text-sm font-light focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2', 'group inline-flex items-center justify-center py-1.5 px-3.5 lg:py-2 lg:px-4 text-xs lg:text-sm font-light focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2',
outline: outline:
'group inline-flex ring-1 items-center justify-center rounded-xl py-1.5 px-3.5 lg:py-2 lg:px-2 text-xs lg:text-sm font-medium focus:outline-none', 'group inline-flex ring-1 items-center justify-center py-1.5 px-3.5 lg:py-1.5 lg:px-3 text-xs lg:text-sm font-medium focus:outline-none',
} }
const variantStyles = { const variantStyles = {
@@ -25,9 +25,9 @@ const variantStyles = {
}, },
outline: { outline: {
slate: slate:
'ring-slate-200 text-slate-200 hover:text-slate-300 hover:ring-slate-300 active:bg-slate-100 active:text-slate-200 focus-visible:outline-gold-600 focus-visible:ring-slate-300', 'ring-white text-white hover:text-slate-300 hover:ring-slate-300 active:bg-slate-100 active:text-slate-200 focus-visible:outline-gold-600 focus-visible:ring-slate-300',
white: white:
'ring-slate-700 text-white hover:ring-slate-300 active:ring-slate-200 active:text-slate-100 focus-visible:outline-white', 'ring-white text-white hover:ring-slate-300 active:ring-slate-200 active:text-slate-100 focus-visible:outline-white',
}, },
link: { link: {
slate: slate:

View File

@@ -6,7 +6,7 @@ import { Logo } from '@/components/Logo'
import { H2, PS, H3, H4 } from '@/components/text' import { H2, PS, H3, H4 } from '@/components/text'
export function Cta() { export function Callto() {
return ( return (
<section <section
id="about" id="about"
@@ -16,7 +16,7 @@ export function Cta() {
}} }}
> >
{/* Background overlay */} {/* Background overlay */}
<div className="absolute inset-0 bg-black opacity-20"></div> <div className="absolute inset-0 bg-black opacity-10"></div>
<Container className="relative z-10"> <Container className="relative z-10">
<div className="mx-auto max-w-3xl text-center text-white"> <div className="mx-auto max-w-3xl text-center text-white">
@@ -32,11 +32,11 @@ export function Cta() {
<H3 className="!text-white mb-6"> <H3 className="!text-white mb-6">
VEDA provides an unparalleled cruise experience on the Nile, blending authenticity with sophistication. Enjoy private journeys featuring organic cuisine, holistic activities, and a dedicated, warm-hearted crew. VEDA provides an unparalleled cruise experience on the Nile, blending authenticity with sophistication. Enjoy private journeys featuring organic cuisine, holistic activities, and a dedicated, warm-hearted crew.
</H3> </H3>
<H3 className="!text-white"> <H3 className="!text-gold-600">
Discover a cruise like no other with us on the Nile. Discover a cruise like no other with us on the Nile.
</H3> </H3>
<br/> <br/>
<Button className="mt-6 !text-gold-400 !border-gold-400 hover:!text-gold-300 hover:!border-gold-300" href="/story" variant="link" color="white"> <Button className="mt-4" href="/story" variant="outline" color="white">
Read Our Story Read Our Story
</Button> </Button>
</div> </div>

View File

@@ -71,7 +71,7 @@ const MultiCardCarousel = () => {
const displayCards = isMobile ? [cards[currentIndex]] : cards.slice(currentIndex, currentIndex + 3); const displayCards = isMobile ? [cards[currentIndex]] : cards.slice(currentIndex, currentIndex + 3);
return ( return (
<div className="bg-transparent flex items-center justify-center py-16 lg:py-24 px-6"> <div className="bg-transparent flex items-center justify-center py-16 lg:py-12 px-6">
<div className="w-full max-w-7xl "> <div className="w-full max-w-7xl ">
<div className="text-left mx-auto max-w-7xl "> <div className="text-left mx-auto max-w-7xl ">
<H2 className=""> <H2 className="">

View File

@@ -23,11 +23,11 @@ export function Hero2() {
<div className="max-w-xs sm:max-w-md md:max-w-2xl lg:max-w-4xl w-full"> <div className="max-w-xs sm:max-w-md md:max-w-2xl lg:max-w-4xl w-full">
<H1 className="text-creme-200 text-3xl sm:text-4xl md:text-5xl lg:text-6xl"> <H1 className="text-creme-200 text-3xl sm:text-4xl md:text-5xl lg:text-6xl">
Nile Cruises,{' '} Nile Cruises,{' '}
<span className="relative whitespace-nowrap text-gold-100"> <span className="relative whitespace-nowrap text-gold-500">
<svg <svg
aria-hidden="true" aria-hidden="true"
viewBox="0 0 418 42" viewBox="0 0 418 42"
className="absolute top-2/3 left-0 h-[0.45em] sm:h-[0.5em] md:h-[0.55em] lg:h-[0.58em] w-full fill-gold-100/80" className="absolute top-2/3 left-0 h-[0.45em] sm:h-[0.5em] md:h-[0.55em] lg:h-[0.58em] w-full fill-gold-500/80"
preserveAspectRatio="none" preserveAspectRatio="none"
> >
<path d="M203.371.916c-26.013-2.078-76.686 1.963-124.73 9.946L67.3 12.749C35.421 18.062 18.2 21.766 6.004 25.934 1.244 27.561.828 27.778.874 28.61c.07 1.214.828 1.121 9.595-1.176 9.072-2.377 17.15-3.92 39.246-7.496C123.565 7.986 157.869 4.492 195.942 5.046c7.461.108 19.25 1.696 19.17 2.582-.107 1.183-7.874 4.31-25.75 10.366-21.992 7.45-35.43 12.534-36.701 13.884-2.173 2.308-.202 4.407 4.442 4.734 2.654.187 3.263.157 15.593-.78 35.401-2.686 57.944-3.488 88.365-3.143 46.327.526 75.721 2.23 130.788 7.584 19.787 1.924 20.814 1.98 24.557 1.332l.066-.011c1.201-.203 1.53-1.825.399-2.335-2.911-1.31-4.893-1.604-22.048-3.261-57.509-5.556-87.871-7.36-132.059-7.842-23.239-.254-33.617-.116-50.627.674-11.629.54-42.371 2.494-46.696 2.967-2.359.259 8.133-3.625 26.504-9.81 23.239-7.825 27.934-10.149 28.304-14.005.417-4.348-3.529-6-16.878-7.066Z" /> <path d="M203.371.916c-26.013-2.078-76.686 1.963-124.73 9.946L67.3 12.749C35.421 18.062 18.2 21.766 6.004 25.934 1.244 27.561.828 27.778.874 28.61c.07 1.214.828 1.121 9.595-1.176 9.072-2.377 17.15-3.92 39.246-7.496C123.565 7.986 157.869 4.492 195.942 5.046c7.461.108 19.25 1.696 19.17 2.582-.107 1.183-7.874 4.31-25.75 10.366-21.992 7.45-35.43 12.534-36.701 13.884-2.173 2.308-.202 4.407 4.442 4.734 2.654.187 3.263.157 15.593-.78 35.401-2.686 57.944-3.488 88.365-3.143 46.327.526 75.721 2.23 130.788 7.584 19.787 1.924 20.814 1.98 24.557 1.332l.066-.011c1.201-.203 1.53-1.825.399-2.335-2.911-1.31-4.893-1.604-22.048-3.261-57.509-5.556-87.871-7.36-132.059-7.842-23.239-.254-33.617-.116-50.627.674-11.629.54-42.371 2.494-46.696 2.967-2.359.259 8.133-3.625 26.504-9.81 23.239-7.825 27.934-10.149 28.304-14.005.417-4.348-3.529-6-16.878-7.066Z" />

View File

@@ -0,0 +1,45 @@
import { H1, H2, H3, H4, P, PS, PXS, PXXS } from '@/components/text'
import { Button } from './Button'
export function Journey() {
return (
<div className="relative bg-transparent my-12">
<div className="relative mx-auto max-w-8xl lg:grid lg:grid-cols-2">
{/* Left column with journey1.jpg */}
<div className="relative h-80 lg:h-full">
<img
alt="Journey Image 1"
src="/images/journey1.jpg"
className="size-full object-cover"
/>
{/* Black overlay */}
<div className="absolute inset-0 bg-black opacity-50 hover:opacity-20"></div>
{/* paragraphs */}
<div className="absolute inset-0 flex items-center justify-center mx-auto max-w-lg flex-col text-center px-10">
<H2 className=" text-white text-3xl font-semibold">Experiences</H2>
<PS className=" mt-4 text-white text-center ">From intimate community gatherings to professional retreats, VEDA offers transformative programs on the Nile.</PS>
<Button className="mt-6" href="/experiences" variant="outline" color="white">Learn More</Button>
</div>
</div>
{/* Right column with journey2.jpg */}
<div className="relative h-80 lg:h-full">
<img
alt="Journey Image 2"
src="/images/journey2.jpg"
className="size-full object-cover"
/>
{/* Black overlay */}
<div className="absolute inset-0 bg-black opacity-50 hover:opacity-20"></div>
{/* Learn More button */}
<div className="absolute inset-0 flex items-center justify-center mx-auto max-w-lg flex-col text-center px-10">
<H2 className=" text-white text-3xl font-semibold">Activities</H2>
<PS className=" mt-4 text-white text-center ">Explore a diverse range of activities designed to elevate your mind, body, and soul.</PS>
<Button className="mt-6" href="/experiences" variant="outline" color="white">Learn More</Button>
</div>
</div>
</div>
</div>
)
}

View File

@@ -13,7 +13,7 @@ export default function Route() {
return ( return (
<div className="bg-transparent overflow-hidden pt-12 pb-24 px-6 lg:px-8"> <div className="bg-transparent overflow-hidden pt-12 pb-24 px-6 lg:px-8">
<div className="mx-auto max-w-7xl "> <div className="mx-auto max-w-7xl ">
<div className="grid grid-cols-1 gap-x-8 gap-y-4 lg:gap-y-16 lg:grid-cols-2 lg:items-start"> <div className="grid grid-cols-1 gap-x-8 gap-y-4 lg:gap-y-16 lg:grid-cols-2 lg:items-center">
<div className="lg:pr-4 lg:pt-4"> <div className="lg:pr-4 lg:pt-4">
<div className="mx-auto max-w-2xl lg:mx-0 lg:max-w-lg"> <div className="mx-auto max-w-2xl lg:mx-0 lg:max-w-lg">
<H2 className="">Itinerary</H2> <H2 className="">Itinerary</H2>