feat: Enhance cultural heritage site pages with new components and styling

- Added a new "HeritageSeal" SVG component for branding consistency across the site.
- Updated "CulturalSpaceExplorer" to include a descriptive header and introductory text.
- Modified "SiteHeader" to replace the logo with the new "HeritageSeal".
- Enhanced "HeritageDetailPage" with improved layout and styling for better readability.
- Updated "HeritageListPage" to include new visual elements and improved section layouts.
- Revamped "AboutPage" with new content structure and visual enhancements.
- Improved "ContactPage" with a visually appealing hero section and map integration.
- Updated global styles for better visual consistency and improved accessibility.
- Introduced "SectionDivider" component for decorative separation in content sections.
This commit is contained in:
tuyenio
2026-06-26 16:17:24 +07:00
parent 6bc57fe144
commit e081f54bd4
12 changed files with 327 additions and 105 deletions
+25 -11
View File
@@ -1,9 +1,11 @@
import type { Metadata } from "next";
import Image from "next/image";
import { Clock, Globe2, ImagePlus, Landmark, MapPin, MessageSquareText, Phone, Send } from "lucide-react";
import { BackToTopButton } from "@/app/components/landing/BackToTopButton";
import { HeritageSeal } from "@/app/components/landing/HeritageOrnament";
import { SiteFooter } from "@/app/components/landing/SiteFooter";
import { SiteHeader } from "@/app/components/landing/SiteHeader";
import { contact } from "@/app/content";
import { contact, subpageHero } from "@/app/content";
export const metadata: Metadata = {
title: "Liên hệ | VR360 Như Quỳnh",
@@ -28,16 +30,19 @@ export default function ContactPage() {
<main className="public-page min-h-[100dvh] bg-[var(--background)] text-[var(--foreground)]">
<SiteHeader />
<section className="mx-auto max-w-7xl px-4 pt-16 sm:px-6 lg:pt-24">
<div className="public-rise max-w-3xl">
<p className="public-kicker">Liên hệ</p>
<h1 className="public-gradient-text public-heading-safe mt-3 text-[clamp(2.2rem,5vw,3.8rem)] font-extrabold">
Liên hệ & đóng góp liệu
</h1>
<p className="mt-5 text-base leading-8 text-[var(--foreground)]/82 sm:text-lg">
Người dân, tổ chức liệu, hình nh hoặc câu chuyện về các di tích của Như Quỳnh
vui lòng liên hệ đ cùng hoàn thiện kho dữ liệu số di sản.
</p>
<section className="public-subpage-hero public-subpage-hero--compact relative isolate overflow-hidden border-b border-[var(--surface-border)]">
<Image src={subpageHero.lienHe} alt="" fill preload sizes="100vw" className="public-subpage-hero-image public-parallax-bg object-cover" />
<div className="public-subpage-hero-content mx-auto max-w-7xl px-4 py-20 sm:px-6 lg:py-28">
<div className="public-rise public-hero-rule max-w-4xl">
<p className="public-kicker">Liên hệ</p>
<h1 className="public-hero-display public-heading-safe mt-5 text-[clamp(2.2rem,5vw,4.2rem)] font-extrabold">
Liên hệ &amp; <span className="public-display-accent">đóng góp liệu</span>
</h1>
<p className="public-subpage-copy mt-6 max-w-[58ch] text-base leading-8 sm:text-lg">
Người dân, tổ chức liệu, hình nh hoặc câu chuyện về các di tích của Như Quỳnh
vui lòng liên hệ đ cùng hoàn thiện kho dữ liệu số di sản.
</p>
</div>
</div>
</section>
@@ -116,6 +121,15 @@ export default function ContactPage() {
{/* Map */}
<section className="mx-auto max-w-7xl px-4 pb-16 sm:px-6 lg:pb-24">
<div className="mb-6 flex items-center gap-4">
<HeritageSeal className="h-8 w-8 shrink-0 text-[var(--primary)] opacity-80" />
<div>
<p className="public-kicker">Vị trí trên bản đ</p>
<h2 className="public-display public-heading-safe mt-1.5 text-xl font-bold text-[var(--tour-ink)] sm:text-2xl">
{contact.address}
</h2>
</div>
</div>
<div className="public-map-frame overflow-hidden rounded-[16px] border border-[var(--surface-border)]">
<iframe
title="Bản đồ Thôn Đình Dù, Xã Như Quỳnh, tỉnh Hưng Yên"