ok
This commit is contained in:
2
build.sh
2
build.sh
@@ -16,7 +16,7 @@ pnpm install
|
|||||||
pnpm run build
|
pnpm run build
|
||||||
|
|
||||||
# local mirror (optional)
|
# local mirror (optional)
|
||||||
rsync -rav --delete dist/ "${HOME}/hero/var/www/$PREFIX/"
|
# rsync -rav --delete dist/ "${HOME}/hero/var/www/$PREFIX/"
|
||||||
|
|
||||||
# deploy to veda server
|
# deploy to veda server
|
||||||
rsync -avz --delete out/ "root@veda.info:/root/hero/www/info/$PREFIX/"
|
rsync -avz --delete out/ "root@veda.info:/root/hero/www/info/$PREFIX/"
|
||||||
|
@@ -4,10 +4,11 @@ const nextConfig = {
|
|||||||
trailingSlash: true,
|
trailingSlash: true,
|
||||||
skipTrailingSlashRedirect: true,
|
skipTrailingSlashRedirect: true,
|
||||||
distDir: 'out',
|
distDir: 'out',
|
||||||
|
basePath: process.env.NEXT_PUBLIC_BASE_PATH || '',
|
||||||
images: {
|
images: {
|
||||||
unoptimized: true
|
unoptimized: true
|
||||||
},
|
},
|
||||||
assetPrefix: process.env.NODE_ENV === 'production' ? '' : '',
|
assetPrefix: process.env.NEXT_PUBLIC_BASE_PATH || '',
|
||||||
// Development optimizations
|
// Development optimizations
|
||||||
experimental: {
|
experimental: {
|
||||||
turbo: {
|
turbo: {
|
||||||
|
@@ -156,41 +156,48 @@ export function Boat() {
|
|||||||
return (
|
return (
|
||||||
<div className="pt-16 lg:pt-24 pb-12">
|
<div className="pt-16 lg:pt-24 pb-12">
|
||||||
<Container>
|
<Container>
|
||||||
<div ref={setReferenceWindowRef}>
|
<div className="grid grid-cols-1 lg:grid-cols-12 gap-8 lg:gap-12 items-start">
|
||||||
<h2 className="font-display mt-2 text-3xl font-semibold tracking-[-0.05em] text-darkgr-700 lg:text-4xl">
|
{/* Text Content - Left Side */}
|
||||||
Dahabiyas
|
<div ref={setReferenceWindowRef} className="lg:col-span-4">
|
||||||
</h2>
|
<h2 className="font-display mt-2 text-3xl font-semibold tracking-[-0.05em] text-darkgr-700 lg:text-4xl">
|
||||||
<p className="mt-4 max-w-5xl text-xl/5 font-medium tracking-[-0.045em] lg:tracking-[-0.02em] leading-[1.3] lg:leading-[1.4] lg:text-2xl text-darkgr">
|
Dahabiyas
|
||||||
Discover peaceful platforms where every detail ensures a truly memorable stay. 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.
|
</h2>
|
||||||
</p>
|
<p className="mt-4 text-xl/5 font-medium tracking-[-0.045em] lg:tracking-[-0.02em] leading-[1.3] lg:leading-[1.4] lg:text-2xl text-darkgr">
|
||||||
|
Discover peaceful platforms where every detail ensures a truly memorable stay. 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.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/* Carousel - Right Side */}
|
||||||
|
<div className="lg:col-span-8">
|
||||||
|
<div
|
||||||
|
ref={scrollRef}
|
||||||
|
className={clsx([
|
||||||
|
'flex gap-8 pl-6 pr-6 lg:pl-0 lg:pr-8',
|
||||||
|
'[scrollbar-width:none] [&::-webkit-scrollbar]:hidden',
|
||||||
|
'snap-x snap-mandatory overflow-x-scroll overscroll-x-contain scroll-smooth',
|
||||||
|
'pb-8',
|
||||||
|
])}
|
||||||
|
>
|
||||||
|
{testimonials.map(({ img, name, title, quote, href, subtitle }, testimonialIndex) => (
|
||||||
|
<TestimonialCard
|
||||||
|
key={testimonialIndex}
|
||||||
|
subtitle={subtitle}
|
||||||
|
name={name}
|
||||||
|
title={title}
|
||||||
|
href={href}
|
||||||
|
img={img}
|
||||||
|
bounds={bounds}
|
||||||
|
scrollX={scrollX}
|
||||||
|
onClick={() => scrollTo(testimonialIndex)}
|
||||||
|
>
|
||||||
|
{quote}
|
||||||
|
</TestimonialCard>
|
||||||
|
))}
|
||||||
|
<div className="w-8 shrink-0" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</Container>
|
</Container>
|
||||||
<div
|
|
||||||
ref={scrollRef}
|
|
||||||
className={clsx([
|
|
||||||
'mt-16 flex gap-8 pl-6 pr-6 lg:pl-8 lg:ml-12 ml-4',
|
|
||||||
'[scrollbar-width:none] [&::-webkit-scrollbar]:hidden',
|
|
||||||
'snap-x snap-mandatory overflow-x-scroll overscroll-x-contain scroll-smooth',
|
|
||||||
'pb-8',
|
|
||||||
])}
|
|
||||||
>
|
|
||||||
{testimonials.map(({ img, name, title, quote, href, subtitle }, testimonialIndex) => (
|
|
||||||
<TestimonialCard
|
|
||||||
key={testimonialIndex}
|
|
||||||
subtitle={subtitle}
|
|
||||||
name={name}
|
|
||||||
title={title}
|
|
||||||
href={href}
|
|
||||||
img={img}
|
|
||||||
bounds={bounds}
|
|
||||||
scrollX={scrollX}
|
|
||||||
onClick={() => scrollTo(testimonialIndex)}
|
|
||||||
>
|
|
||||||
{quote}
|
|
||||||
</TestimonialCard>
|
|
||||||
))}
|
|
||||||
<div className="w-8 shrink-0" />
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user