diff --git a/public/images/best-yacht-bg.jpg b/public/images/best-yacht-bg.jpg new file mode 100644 index 0000000..10f2721 Binary files /dev/null and b/public/images/best-yacht-bg.jpg differ diff --git a/public/images/rod.png b/public/images/services/service1.png similarity index 100% rename from public/images/rod.png rename to public/images/services/service1.png diff --git a/public/images/services/service2.png b/public/images/services/service2.png new file mode 100644 index 0000000..01f15fe Binary files /dev/null and b/public/images/services/service2.png differ diff --git a/public/images/services/service3.png b/public/images/services/service3.png new file mode 100644 index 0000000..2308f43 Binary files /dev/null and b/public/images/services/service3.png differ diff --git a/public/images/services/service4.png b/public/images/services/service4.png new file mode 100644 index 0000000..79f31e2 Binary files /dev/null and b/public/images/services/service4.png differ diff --git a/public/images/services/service5.jpg b/public/images/services/service5.jpg new file mode 100644 index 0000000..6630ae5 Binary files /dev/null and b/public/images/services/service5.jpg differ diff --git a/src/app/components/FeaturedYacht.tsx b/src/app/components/FeaturedYacht.tsx new file mode 100644 index 0000000..b56dbfa --- /dev/null +++ b/src/app/components/FeaturedYacht.tsx @@ -0,0 +1,194 @@ +import { Card, CardContent } from "@/components/ui/card"; +import { Button } from "@/components/ui/button"; +import { DatePicker } from "@/components/ui/date-picker"; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "@/components/ui/select"; +import Image from "next/image"; +import Icon from "@/components/ui/icon"; + +const yacht = { + name: "Яхта", + length: "12 метров", + price: "от 18 000 ₽", + perTime: "/ час", + feet: "7 Футов", + mainImage: "/images/yacht.jpg", + thumbnails: [ + "/images/yacht.jpg", + "/images/another-yacht.jpg", + "/images/yacht.jpg", + "/images/another-yacht.jpg", + "/images/yacht.jpg", + ], + isPromoted: true, + totalPrice: "0 ₽", +}; + +export default function FeaturedYacht() { + return ( +
+ + +
+ {/* Left side - Yacht details and images */} +
+ {/* Header with yacht name and length */} +
+

+ {yacht.name} +

+
+ + + {yacht.length} + +
+
+ + {/* Main yacht image */} +
+ {yacht.name} +
+ + {/* Thumbnail images */} +
+ {yacht.thumbnails.map( + (thumb, idx) => ( +
+ {`${ +
+ ) + )} +
+ + {/* Promoted badge */} + {yacht.isPromoted && ( +
+
+ + Это объявление продвигается.{" "} + + Хотите так же? + + +
+ )} +
+ + {/* Right side - Booking form */} +
+
+ {/* Promoted banner */} +
+ + Заметнее других — бронируют + быстрее + +
+ +
+ {/* Price */} +
+

+ {yacht.price} + + {yacht.perTime} + +

+
+ + {/* Booking form */} +
+
+ +
+
+ +
+
+ +
+
+ + {/* Book button */} + + + {/* Total price */} +
+ + Итого: + + + {yacht.totalPrice} + +
+
+
+
+
+
+
+
+ ); +} diff --git a/src/app/components/Services.tsx b/src/app/components/Services.tsx index 18b2474..d9094bc 100644 --- a/src/app/components/Services.tsx +++ b/src/app/components/Services.tsx @@ -40,7 +40,7 @@ export default function Services() {
Морская рыбалка в Балаклаве
Морская рыбалка в Балаклаве
Прогулка на парусной яхте
Вечеринка на яхте
Вечеринка на яхте +

Свадьба, девичник/мальчишник, день рождения

@@ -145,11 +146,11 @@ export default function Services() {
Корпоративная прогулка на яхте
Морские прогулки на яхте

- Морские прогулки на яхте в Бал... + Морская прогулка на яхте или катере

diff --git a/src/app/components/YachtGrid.tsx b/src/app/components/YachtGrid.tsx index 256e0a0..1563855 100644 --- a/src/app/components/YachtGrid.tsx +++ b/src/app/components/YachtGrid.tsx @@ -1,15 +1,8 @@ import { Card, CardContent, CardHeader } from "@/components/ui/card"; import { Button } from "@/components/ui/button"; -import { DatePicker } from "@/components/ui/date-picker"; -import { - Select, - SelectContent, - SelectItem, - SelectTrigger, - SelectValue, -} from "@/components/ui/select"; import Image from "next/image"; import Icon from "@/components/ui/icon"; +import FeaturedYacht from "./FeaturedYacht"; const yachts = [ { @@ -18,7 +11,7 @@ const yachts = [ price: "от 12 500 ₽ / час", feet: "7 Футов", img: "/images/yachts/yacht1.jpg", - badge: "Быстрая бронь", + bestOfferText: "🔥 Лучшее предложение", }, { name: "Яхта", @@ -26,7 +19,7 @@ const yachts = [ price: "от 26 400 ₽ / час", feet: "7 Футов", img: "/images/yachts/yacht2.jpg", - badge: "По запросу", + bestOfferText: "🍷 Идеальна для заката с бокалом вина", }, { name: "Яхта", @@ -34,7 +27,7 @@ const yachts = [ price: "от 48 000 ₽ / час", feet: "7 Футов", img: "/images/yachts/yacht3.jpg", - badge: "По запросу", + bestOfferText: "⌛ Часто бронируется — успей", }, { name: "Яхта", @@ -62,24 +55,6 @@ const yachts = [ }, ]; -const featuredYacht = { - name: "Яхта", - length: "12 метров", - price: "от 18 000 ₽", - perTime: "/ час", - feet: "7 Футов", - mainImage: "/images/yacht.jpg", - thumbnails: [ - "/images/yacht.jpg", - "/images/another-yacht.jpg", - "/images/yacht.jpg", - "/images/another-yacht.jpg", - "/images/yacht.jpg", - ], - isPromoted: true, - totalPrice: "0 ₽", -}; - export default function YachtGrid() { return (
@@ -102,212 +77,79 @@ export default function YachtGrid() {
{/* Featured Yacht Block */} -
- - -
- {/* Left side - Yacht details and images */} -
- {/* Header with yacht name and length */} -
-

- {featuredYacht.name} -

-
- - - {featuredYacht.length} - -
-
- - {/* Main yacht image */} -
- {featuredYacht.name} -
- - {/* Thumbnail images */} -
- {featuredYacht.thumbnails.map( - (thumb, idx) => ( -
- {`${ -
- ) - )} -
- - {/* Promoted badge */} - {featuredYacht.isPromoted && ( -
-
- - Это объявление продвигается.{" "} - - Хотите так же? - - -
- )} -
- - {/* Right side - Booking form */} -
-
- {/* Promoted banner */} -
- - Заметнее других — бронируют - быстрее - -
- -
- {/* Price */} -
-

- {featuredYacht.price} - - {featuredYacht.perTime} - -

-
- - {/* Booking form */} -
-
- -
-
- -
-
- -
-
- - {/* Book button */} - - - {/* Total price */} -
- - Итого: - - - {featuredYacht.totalPrice} - -
-
-
-
-
-
-
-
+ {/* Yacht Grid */}
{yachts.map((yacht, idx) => ( - - -
- {yacht.name} - {/* Badge Overlay */} -
-
- - {yacht.badge} +
+ + +
+ {/* Best Offer Badge - над карточкой */} + {yacht.bestOfferText && ( +
+
+ + {yacht.bestOfferText} + +
+
+ )} + {yacht.name} + {/* Badge Overlay */} + {yacht.badge && ( + <> +
+
+ + + {yacht.badge} + +
+
+ + )} +
+
+ +
+

+ {yacht.name} +

+
+

+ {yacht.price} +

-
- - -
-

- {yacht.name} -

-
-

{yacht.price}

+
+
+ + {yacht.length} +
+
+ + {yacht.feet} +
-
-
-
- - {yacht.length} -
-
- - {yacht.feet} -
-
- - + + +
))}