From 2383f75fe2f2cc2c344c86490f8df9d998dcfa9a Mon Sep 17 00:00:00 2001 From: Sergey Bolshakov Date: Fri, 12 Dec 2025 22:54:46 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A1=D1=82=D1=80=D0=B0=D0=BD=D0=B8=D1=86?= =?UTF-8?q?=D0=B0=20=D0=B1=D1=80=D0=BE=D0=BD=D0=B8=D1=80=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../catalog/[id]/components/BookingWidget.tsx | 3 + src/app/catalog/page.tsx | 14 +- src/app/components/YachtGrid.tsx | 12 +- src/app/confirm/page.tsx | 206 ++++++++++++++++++ src/app/layout.tsx | 2 +- 5 files changed, 228 insertions(+), 9 deletions(-) create mode 100644 src/app/confirm/page.tsx diff --git a/src/app/catalog/[id]/components/BookingWidget.tsx b/src/app/catalog/[id]/components/BookingWidget.tsx index a920e38..8c823e4 100644 --- a/src/app/catalog/[id]/components/BookingWidget.tsx +++ b/src/app/catalog/[id]/components/BookingWidget.tsx @@ -1,6 +1,7 @@ "use client"; import { useState } from "react"; +import { useRouter } from "next/navigation"; import { Button } from "@/components/ui/button"; import { DatePicker } from "@/components/ui/date-picker"; import { GuestPicker } from "@/components/form/guest-picker"; @@ -10,6 +11,7 @@ interface BookingWidgetProps { } export function BookingWidget({ price }: BookingWidgetProps) { + const router = useRouter(); const [departureDate] = useState(); const [arrivalDate] = useState(); const [guests, setGuests] = useState({ adults: 1, children: 0 }); @@ -26,6 +28,7 @@ export function BookingWidget({ price }: BookingWidgetProps) { arrivalDate, guests, }); + router.push("/confirm"); }; return ( diff --git a/src/app/catalog/page.tsx b/src/app/catalog/page.tsx index 84667ac..9b386ff 100644 --- a/src/app/catalog/page.tsx +++ b/src/app/catalog/page.tsx @@ -149,7 +149,9 @@ export default function CatalogPage() {

-
Сортировка:
+
+ Сортировка: +
+ setPromocode(e.target.value) + } + className="flex-1 min-w-0 px-4 sm:px-8 py-5 h-[64px] border border-[#DFDFDF] rounded-full text-base text-[#757575] focus:outline-none focus:ring-2 focus:ring-[#008299] focus:border-transparent" + /> + +
+ + + + + {/* Правая колонка - Подтверждение бронирования */} +
+
+
+ {/* Заголовок */} +

+ Проверьте данные +

+

+ Ваше бронирование +

+ + {/* Сведения о бронировании */} +
+ {/* Даты */} +
+
+ Даты +
+
+ 9 августа в 00:00 — 9 августа в + 02:00 +
+
+ + {/* Гости */} +
+
+
+ Гости +
+
+ 1 гость +
+
+
+
+ + {/* Дополнительные услуги */} +
+
+ Нет дополнительных услуг +
+
+ + {/* Правила отмены */} +

+ Правила отмены +

+ +

+ При отмене до 10 мая вы получите частичный + возврат. +

+ + Подробнее + + + {/* Указание времени и кнопка отправки */} +
+
+ + + По местному времени яхты + +
+ +
+
+
+
+ + + + ); +} diff --git a/src/app/layout.tsx b/src/app/layout.tsx index c353fcb..972a708 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -18,7 +18,7 @@ export default function RootLayout({ }>) { return ( - +
{children}