From dcc4424165fde62d855ec44353a108bf23c49460 Mon Sep 17 00:00:00 2001 From: Sergey Bolshakov Date: Fri, 24 Oct 2025 20:53:05 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B8=20=D0=BF=D0=BE=20=D0=B2=D1=91=D1=80=D1=81=D1=82?= =?UTF-8?q?=D0=BA=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/images/icons/dzen.svg | 9 + public/images/icons/like.svg | 11 + public/images/icons/star.svg | 3 + public/images/icons/tg.svg | 3 + public/images/icons/vk.svg | 3 + src/app/components/Advantages.tsx | 87 +++--- src/app/components/Articles.tsx | 157 +++++----- src/app/components/Hero.tsx | 47 +-- src/app/components/Reviews.tsx | 6 +- src/app/components/Services.tsx | 260 ++++++++++------- src/app/components/VideoSection.tsx | 16 +- src/app/components/YachtGrid.tsx | 54 ++-- src/app/globals.css | 10 +- src/components/layout/Footer.tsx | 19 +- src/components/layout/Header.tsx | 65 +---- src/components/ui/button.tsx | 10 +- src/components/ui/calendar.tsx | 17 +- src/components/ui/card.tsx | 2 +- src/components/ui/carousel.tsx | 433 ++++++++++++++-------------- src/components/ui/date-picker.tsx | 4 +- src/components/ui/icon.tsx | 10 + src/components/ui/select.tsx | 4 +- src/types/icon.ts | 32 +- 23 files changed, 658 insertions(+), 604 deletions(-) create mode 100644 public/images/icons/dzen.svg create mode 100644 public/images/icons/like.svg create mode 100644 public/images/icons/star.svg create mode 100644 public/images/icons/tg.svg create mode 100644 public/images/icons/vk.svg diff --git a/public/images/icons/dzen.svg b/public/images/icons/dzen.svg new file mode 100644 index 0000000..3521b6b --- /dev/null +++ b/public/images/icons/dzen.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/images/icons/like.svg b/public/images/icons/like.svg new file mode 100644 index 0000000..be9e476 --- /dev/null +++ b/public/images/icons/like.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/public/images/icons/star.svg b/public/images/icons/star.svg new file mode 100644 index 0000000..8d5f69a --- /dev/null +++ b/public/images/icons/star.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/images/icons/tg.svg b/public/images/icons/tg.svg new file mode 100644 index 0000000..0d01ff3 --- /dev/null +++ b/public/images/icons/tg.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/images/icons/vk.svg b/public/images/icons/vk.svg new file mode 100644 index 0000000..09a207f --- /dev/null +++ b/public/images/icons/vk.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/app/components/Advantages.tsx b/src/app/components/Advantages.tsx index e6ad4e4..99ad14c 100644 --- a/src/app/components/Advantages.tsx +++ b/src/app/components/Advantages.tsx @@ -1,31 +1,32 @@ import Image from "next/image"; +import { Icon } from "../../components/ui/icon"; export default function Advantages() { return ( -
+
{/* Заголовок секции */} -
-

+
+

Аренда яхт и организация морских прогулок в Балаклаве

-

+

Выбирайте яхту и наслаждайтесь, об остальном позаботились мы

-
+
{/* Левая колонка с тремя секциями */} -
+
{/* Секция 01 */}
-
- 01 +
+ 01
-

+

Каталог лучших яхт Балаклавы в разных ценовых сегментах

-

+

Проверенные лодки с лицензией на перевозки, надежные судовладельцы, опытные капитаны. В нашем каталоге вы найдете катера, парусники, катамараны с фото, @@ -35,13 +36,13 @@ export default function Advantages() { {/* Секция 02 */}

-
- 02 +
+ 02
-

+

Удобное самостоятельное бронирование яхты в аренду

-

+

Вы можете самостоятельно выбрать яхту на ваш вкус, взять любимую еду и напитки, поставить свой плей-лист. На борту есть все для комфортного @@ -52,13 +53,13 @@ export default function Advantages() { {/* Секция 03 */}

-
- 03 +
+ 03
-

+

Организация морских прогулок под ключ

-

+

Вы можете связаться с нами, и наш менеджер поможет вам подобрать яхту, а также организовать праздник на борту: шампанское и фрукты, кейтеринг по меню, @@ -68,7 +69,7 @@ export default function Advantages() {

{/* Правая колонка с изображением и оверлейными карточками */} -
+
{/* Оверлейные карточки */} -
+
Яхта

@@ -94,12 +95,12 @@ export default function Advantages() {

{[...Array(5)].map((_, i) => ( - - ★ - + /> ))} 124 @@ -109,14 +110,14 @@ export default function Advantages() {
-
+
Яхта

@@ -124,12 +125,12 @@ export default function Advantages() {

{[...Array(5)].map((_, i) => ( - - ★ - + /> ))} 124 @@ -139,14 +140,14 @@ export default function Advantages() {
-
+
Яхта

@@ -154,12 +155,12 @@ export default function Advantages() {

{[...Array(5)].map((_, i) => ( - - ★ - + /> ))} 124 diff --git a/src/app/components/Articles.tsx b/src/app/components/Articles.tsx index 76ad01d..07e571d 100644 --- a/src/app/components/Articles.tsx +++ b/src/app/components/Articles.tsx @@ -1,82 +1,87 @@ -import { Card, CardContent } from '@/components/ui/card' -import { Button } from '@/components/ui/button' -import Image from 'next/image' +import { Card } from "@/components/ui/card"; +import { Button } from "@/components/ui/button"; +import Image from "next/image"; const articles = [ - { - id: 1, - image: '/images/yacht.jpg', - tags: ['Полезное', 'Интересное'], - title: 'Тема публикации', - description: 'Текст публикации' - }, - { - id: 2, - image: '/images/yacht.jpg', - tags: ['Полезное', 'Интересное'], - title: 'В чем отличия яхты, катера и лодки?', - description: 'Гайд по выбору судна для морской прогулки. Что арендовать в Балаклаве', - hasButton: true - }, - { - id: 3, - image: '/images/yacht.jpg', - tags: [ - { text: 'Дзен', icon: 'D' }, - { text: 'VK', icon: 'VK' } - ], - title: 'Подпишись на наши группы в социальных сетях', - description: 'Чтобы не пропустить новый контент. Открой новое в мире морских прогулок' - } -] + { + id: 1, + image: "/images/yacht.jpg", + tags: ["Полезное", "Интересное"], + title: "Тема публикации", + description: "Текст публикации", + }, + { + id: 2, + image: "/images/yacht.jpg", + tags: ["Полезное", "Интересное"], + title: "В чем отличия яхты, катера и лодки?", + description: + "Гайд по выбору судна для морской прогулки. Что арендовать в Балаклаве", + }, + { + id: 3, + image: "/images/yacht.jpg", + tags: [ + { text: "Дзен", icon: "D" }, + { text: "VK", icon: "VK" }, + ], + title: "Подпишись на наши группы в социальных сетях", + description: + "Чтобы не пропустить новый контент. Открой новое в мире морских прогулок", + }, +]; export default function Articles() { - return ( -
-

Полезные статьи

-
- {articles.map((article) => ( - -
- {article.title} -
- -
- {article.tags.map((tag, idx) => ( - - {typeof tag === 'string' ? tag : tag.text} - + return ( +
+

+ Полезные статьи +

+
+ {articles.map((article) => ( +
+ +
+ {article.title} +
+
+
+
+ {article.tags.map((tag, idx) => ( + + {typeof tag === "string" + ? tag + : tag.text} + + ))} +
+

+ {article.title} +

+

+ {article.description} +

+
+
))} -
-

- {article.title} -

-

- {article.description} -

- {article.hasButton && ( -
-
+
+ -
- )} - - - ))} -
-
- ) -} \ No newline at end of file + +
+

+ ); +} diff --git a/src/app/components/Hero.tsx b/src/app/components/Hero.tsx index 07aaad4..aa61373 100644 --- a/src/app/components/Hero.tsx +++ b/src/app/components/Hero.tsx @@ -31,7 +31,7 @@ export default function Hero() {
{/* Заголовок и подзаголовок */} -
+

Аренда яхт

в Балаклаве

@@ -39,22 +39,29 @@ export default function Hero() {

- {/* Поисковая форма */} - + {/* Кнопка для мобильных устройств */} +
+ +
+ + {/* Поисковая форма - скрыта на мобильных устройствах */} + {/* Основные поля поиска */} -
+
{/* Локация */}