From c8217cfc2f382f173f7f171311f332a8e5efb2cf Mon Sep 17 00:00:00 2001 From: AR 15 M4 Date: Mon, 23 Mar 2026 16:41:17 +0500 Subject: [PATCH] feat(preview): add NavigationBlock component, show header in preview MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit NavigationBlock extracted from navigation/page.tsx into reusable component. Preview now shows real header (ready: true) as first block — 3 of 8 ready. Co-Authored-By: Claude Sonnet 4.6 --- apps/web/app/components/navigation/page.tsx | 81 +----------------- apps/web/app/pages/preview/PreviewClient.tsx | 4 +- .../web/components/blocks/NavigationBlock.tsx | 83 +++++++++++++++++++ 3 files changed, 89 insertions(+), 79 deletions(-) create mode 100644 apps/web/components/blocks/NavigationBlock.tsx diff --git a/apps/web/app/components/navigation/page.tsx b/apps/web/app/components/navigation/page.tsx index 2930857..fc1b7a2 100644 --- a/apps/web/app/components/navigation/page.tsx +++ b/apps/web/app/components/navigation/page.tsx @@ -1,21 +1,11 @@ import type { Metadata } from "next"; import { LlmBlock, LlmSection, LlmTable, LlmRules } from "@/components/llm/LlmBlock"; +import { NavigationBlock, NAV_ITEMS } from "@/components/blocks/NavigationBlock"; export const metadata: Metadata = { title: "Шапка и навигация. Цифровой брендбук Клиники ухо, горло, нос им. проф. Е.Н.Оленевой", }; -const NAV_ITEMS = [ - "Клиника", - "ЛОР врачи", - "Заболевания", - "Вопрос-ответ", - "ЛОР-операции", - "Сурдология", - "Цены", - "Контакты", -]; - const LLM_NAV_TEXT = ` БЛОК: Шапка и навигация сайта (Header) Источник: perm.oclinica.ru/lor — реальная шапка сайта @@ -77,73 +67,8 @@ export default function NavigationPage() {

Живой пример

-
- {/* Топ-бар */} -
-
- 📍 Б. Цитная, 3 - - Клиника ухо горло нос и аллергия - - - Центр аллергологии и пульмонологии - -
-
- - /342/ 255-53-84 - - -
-
- - {/* Логотип */} -
-
-
- ✚ -
-
-
- Клиника
ухо, горло, нос -
-
- им. проф. Е.Н.Оленевой -
-
-
-
- - {/* Навигация */} - +
+
diff --git a/apps/web/app/pages/preview/PreviewClient.tsx b/apps/web/app/pages/preview/PreviewClient.tsx index cc91458..fa494b3 100644 --- a/apps/web/app/pages/preview/PreviewClient.tsx +++ b/apps/web/app/pages/preview/PreviewClient.tsx @@ -1,6 +1,7 @@ "use client"; import { useState, useEffect } from "react"; +import { NavigationBlock } from "@/components/blocks/NavigationBlock"; import { HeroBlock } from "@/components/blocks/HeroBlock"; import { DoctorsBlock } from "@/components/blocks/DoctorsBlock"; @@ -40,7 +41,8 @@ const BLOCKS: Array<{ id: "navigation", name: "Шапка / Навигация", href: "/components/navigation", - ready: false, + ready: true, + component: , }, { id: "hero", diff --git a/apps/web/components/blocks/NavigationBlock.tsx b/apps/web/components/blocks/NavigationBlock.tsx new file mode 100644 index 0000000..336d1d9 --- /dev/null +++ b/apps/web/components/blocks/NavigationBlock.tsx @@ -0,0 +1,83 @@ +export const NAV_ITEMS = [ + "Клиника", + "ЛОР врачи", + "Заболевания", + "Вопрос-ответ", + "ЛОР-операции", + "Сурдология", + "Цены", + "Контакты", +]; + +export function NavigationBlock() { + return ( +
+ {/* Топ-бар */} +
+ +
+ + /342/ 255-53-84 + + +
+
+ + {/* Логотип */} +
+
+
+ ✚ +
+
+
+ Клиника
ухо, горло, нос +
+
+ им. проф. Е.Н.Оленевой +
+
+
+
+ + {/* Главное меню */} + +
+ ); +}