From dd6dadaa55891bebe364f0bd7cc8cb1e02ec6475 Mon Sep 17 00:00:00 2001 From: tuyenio Date: Tue, 23 Jun 2026 15:56:15 +0700 Subject: [PATCH] =?UTF-8?q?feat:=20th=C3=B4ng=20tin=20li=C3=AAn=20h?= =?UTF-8?q?=E1=BB=87=20ch=C3=ADnh=20th=E1=BB=A9c=20+=20l=E1=BB=9Bp=20ngh?= =?UTF-8?q?=E1=BB=87=20thu=E1=BA=ADt=20(grain,=20marquee),=20b=E1=BB=8F=20?= =?UTF-8?q?em-dash?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Thông tin liên hệ thật: Thôn Đình Dù, Xã Như Quỳnh, tỉnh Hưng Yên · ĐT 02213 985 074 · cổng nhuquynh.hungyen.gov.vn (1 nguồn dữ liệu `contact`, dùng ở footer + liên hệ + bản đồ) - Thêm lớp nhiễu hạt phim cố định (chiều sâu cao cấp) + dải tên di tích chạy ngang (1 dải/trang) - Thay toàn bộ em-dash trong nội dung hiển thị bằng dấu câu chuẩn Co-Authored-By: Claude Opus 4.8 (1M context) --- .../components/landing/HeritageMarquee.tsx | 28 ++++++++++++ src/app/components/landing/SiteFooter.tsx | 26 ++++++----- src/app/content.ts | 22 ++++++--- src/app/di-tich/page.tsx | 4 +- src/app/gioi-thieu/page.tsx | 6 +-- src/app/globals.css | 44 ++++++++++++++++++ src/app/layout.tsx | 5 ++- src/app/lien-he/page.tsx | 45 +++++++++++++------ src/app/page.tsx | 5 ++- src/app/tour/chua-thai-lac/page.tsx | 2 +- src/app/tours/chua-thai-lac.ts | 6 +-- 11 files changed, 151 insertions(+), 42 deletions(-) create mode 100644 src/app/components/landing/HeritageMarquee.tsx diff --git a/src/app/components/landing/HeritageMarquee.tsx b/src/app/components/landing/HeritageMarquee.tsx new file mode 100644 index 0000000..f12a633 --- /dev/null +++ b/src/app/components/landing/HeritageMarquee.tsx @@ -0,0 +1,28 @@ +import { heritageSites } from "@/app/content"; + +// Dải tên di tích chạy ngang liên tục, gợi bề dày của hệ thống di sản. +// Lặp danh sách 2 lần để vòng lặp khép kín; dừng khi prefers-reduced-motion. +export function HeritageMarquee() { + const names = heritageSites.map((site) => site.name); + const loop = [...names, ...names]; + + return ( +
+
+
+ {loop.map((name, index) => ( + = names.length}> + + {name} + + + + ))} +
+
+
+ ); +} diff --git a/src/app/components/landing/SiteFooter.tsx b/src/app/components/landing/SiteFooter.tsx index 92c34b8..c203e73 100644 --- a/src/app/components/landing/SiteFooter.tsx +++ b/src/app/components/landing/SiteFooter.tsx @@ -1,13 +1,13 @@ import Link from "next/link"; -import { Globe2, Mail, MapPin } from "lucide-react"; -import { navigation } from "@/app/content"; +import { Globe2, Mail, MapPin, Phone } from "lucide-react"; +import { contact, navigation } from "@/app/content"; export function SiteFooter() { return (