/* global React, ReactDOM, Icon, SunBurst, TarotArt, CelestialDivider, Particles, useReveal, TweaksPanel, useTweaks, TweakSection, TweakRadio, TweakColor, TweakToggle */ const { useState, useEffect, useRef } = React; const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "accentColor": "#C6A06A", "ctaTone": "Plum", "showParticles": true, "heroLayout": "Arch composition", "showCornerBursts": true } /*EDITMODE-END*/; // ===== Navbar ===== function Navbar({ onBook }) { const [scrolled, setScrolled] = useState(false); useEffect(() => { const onScroll = () => setScrolled(window.scrollY > 24); window.addEventListener("scroll", onScroll); return () => window.removeEventListener("scroll", onScroll); }, []); const links = [ { label: "Trang chủ", href: "#hero" }, { label: "Về Holy Dan", href: "#about" }, { label: "Dịch vụ", href: "#services" }, { label: "Đồng hành", href: "#process" }, { label: "Blog", href: "#blog" }, { label: "Liên hệ", href: "#footer" }]; return ( ); } // ===== Hero ===== function Hero({ onBook, showCornerBursts, showParticles }) { const ref = useReveal(); return (
{showCornerBursts && <> } {showParticles && }
Đồng hành · Thấu hiểu · Chữa lành

Nhìn thấu vấn đề.
Lắng nghe cảm xúc
thật của bạn.

Holy Dan là không gian đồng hành dịu dàng, nơi bạn được lắng nghe và thấu hiểu. Tarot là một trong nhiều công cụ Holy Dan sử dụng để cùng bạn nhìn rõ bản chất vấn đề và mở lối cho cảm xúc bên trong.

Khám phá dịch vụ
Bảo mật thông tin tuyệt đối
Trải bài chuẩn xác & tận tâm
Không phán xét, chỉ đồng hành
Tarot · Candle · Crystal · Sacred Composition
); } // ===== About ===== function About() { const ref = useReveal(); return (
Editorial composition · Soft warm imagery
Về Holy Dan

Tarot là một chiếc gương
trong nhiều chiếc gương.

"Ở đây, bạn được lắng nghe, được thấu hiểu, và được là chính mình một cách trọn vẹn và dịu dàng nhất."

Holy Dan không chỉ là một điểm đến tarot. Holy Dan là không gian đồng hành cảm xúc — nơi bạn được hỗ trợ nhìn thấu bản chất vấn đề, chia sẻ những điều khó nói và tìm lại sự bình yên.

Soi sáng những khúc mắc, và tìm lại sự bình yên bên trong  bạn không cần phải có sẵn câu trả lời. Chỉ cần bạn sẵn sàng, Holy Dan ở đây.

Tìm hiểu thêm về Holy Dan
); } // ===== Services ===== function Services({ onBook }) { const ref = useReveal(); const services = [ { icon: Icon.Heart, title: "Tình yêu", desc: "Đồng hành cùng bạn nhìn rõ những băn khoăn về tình cảm và kết nối — qua tarot và đối thoại dịu dàng, không phán xét.", duration: "60 phút", price: "590.000đ" }, { icon: Icon.Briefcase, title: "Công việc", desc: "Tìm lại sự rõ ràng trong sự nghiệp và những lựa chọn phía trước — bằng tarot, lắng nghe và những câu hỏi đúng.", duration: "60 phút", price: "590.000đ" }, { icon: Icon.Coin, title: "Tài chính", desc: "Khám phá năng lượng tài chính cá nhân và những bước đi cần thiết — kết hợp tarot và phản chiếu cảm xúc.", duration: "60 phút", price: "650.000đ" }, { icon: Icon.Compass, title: "Định hướng cá nhân", desc: "Buổi đồng hành tổng quan cho bạn đang tìm con đường, ý nghĩa và sự bình yên bên trong.", duration: "75 phút", price: "750.000đ" }]; return (
Dịch vụ đồng hành

Bốn không gian, bốn câu hỏi.

Mỗi buổi trải bài 1:1 là một khoảng tĩnh lặng  nơi bạn được lắng nghe, được nhìn rõ hơn, và bước đi nhẹ hơn một chút.

{services.map((s) =>

{s.title}

{s.desc}

Thời lượng
{s.duration}
Phí
{s.price}
)}
); } // ===== Process ===== function Process() { const ref = useReveal(); const steps = [ { num: "I", title: "Chọn dịch vụ & thời gian", desc: "Lựa chọn buổi trải bài phù hợp và khung giờ thuận tiện cho bạn." }, { num: "II", title: "Xác nhận & thanh toán", desc: "Hoàn tất thông tin, nhận xác nhận lịch hẹn và hướng dẫn chuẩn bị." }, { num: "III", title: "Tham gia buổi đồng hành", desc: "Gặp gỡ trong không gian riêng tư — kết hợp tarot, đối thoại sâu và sự lắng nghe cùng Holy Dan." }]; return (
Hành trình đồng hành

Ba bước, một buổi tĩnh lặng.

Đặt lịch nhẹ nhàng và rõ ràng không khoảng cách, không phức tạp.

{steps.map((s) =>
{s.num}

{s.title}

{s.desc}

)}
); } // ===== Why Choose ===== function WhyChoose() { const ref = useReveal(); const items = [ { icon: Icon.Shield, title: "Bảo mật", desc: "Thông tin của bạn được giữ kín tuyệt đối." }, { icon: Icon.Hand, title: "Tận tâm", desc: "Đồng hành dịu dàng, không vội vã." }, { icon: Icon.Sparkle, title: "Chuẩn xác", desc: "Trải bài chuyên sâu, có chiều sâu thực." }, { icon: Icon.Eye, title: "Không phán xét", desc: "Lắng nghe trọn vẹn, an toàn cảm xúc." }, { icon: Icon.Feather, title: "Linh hoạt", desc: "Online hoặc offline, phù hợp với bạn." }]; return (
Vì sao chọn Holy Dan

Một không gian đáng tin cậy.

{items.map((it) =>

{it.title}

{it.desc}

)}
); } // ===== Testimonials ===== function Testimonials() { const ref = useReveal(); const items = [ { text: "Mình đã đến với Holy Dan trong giai đoạn rất mơ hồ. Buổi trải bài giúp mình nhìn thấy điều bản thân thật sự cần nhẹ nhàng mà sâu.", name: "An Nhiên", role: "Đồng hành Tình yêu", initials: "AN" }, { text: "Cách Holy Dan dẫn dắt rất dịu, không hề có cảm giác bị 'phán'. Mình thấy được lắng nghe và an toàn để chia sẻ.", name: "Minh Châu", role: "Định hướng cá nhân", initials: "MC" }, { text: "Một trải nghiệm rất premium và sâu sắc. Mình đã đặt lịch lần thứ ba và mỗi lần đều mang về một góc nhìn mới.", name: "Thảo Vy", role: "Đồng hành Công việc", initials: "TV" }]; return (
Cảm nhận khách hàng

Những lời nhắn dịu dàng.

{items.map((t, i) =>

{t.text}

★ ★ ★ ★ ★
{t.initials}
{t.name}
{t.role}
)}
); } // ===== Blog ===== function Blog() { const ref = useReveal(); const posts = [ { tag: "Tarot", title: "Ý nghĩa 3 lá bài về tình yêu bạn nên biết", excerpt: "Tình yêu trong Tarot không phải lời tiên đoán, đó là tấm gương soi sáng cảm xúc và lựa chọn của chính bạn.", date: "12.05.2026", read: "5 phút đọc", label: "Tarot reading · candlelight" }, { tag: "Healing", title: "Năng lượng trăng tròn & nghi thức tự chữa lành", excerpt: "Cách tận dụng nguồn năng lượng dịu dàng của trăng để thiết lập lại sự cân bằng bên trong.", date: "28.04.2026", read: "7 phút đọc", label: "Moon ritual · soft imagery" }, { tag: "Trực giác", title: "Ý nghĩa 3 lá bài về tình yêu bạn nên biết", excerpt: "Trực giác không phải điều thần bí. Đó là tiếng nói của bạn, chỉ cần một chút yên tĩnh để được lắng nghe.", date: "10.04.2026", read: "6 phút đọc", label: "Inner listening · journal" }]; return (
Blog & Insights

Câu chuyện về trực giác.

Những bài viết nhỏ về tarot, chữa lành và sự thấu hiểu chính mình.

{posts.map((p, i) =>
{p.label}
{p.tag}

{p.title}

{p.excerpt}

{p.date} {p.read}
)}
Xem tất cả bài viết
); } // ===== FAQ ===== function FAQ() { const [open, setOpen] = useState(0); const ref = useReveal(); const items = [ { q: "Trải bài Tarot có phải bói toán không?", a: "Không. Tại Holy Dan, tarot là một trong nhiều công cụ — bên cạnh trò chuyện sâu, thiền dẫn và các trải nghiệm chữa lành — giúp bạn nhìn rõ bản chất vấn đề và lắng nghe cảm xúc của chính mình." }, { q: "Thông tin cá nhân của tôi có được bảo mật không?", a: "Tuyệt đối. Mọi thông tin và nội dung trao đổi trong buổi trải bài đều được giữ kín. Holy Dan tôn trọng sự riêng tư của bạn như một nguyên tắc cốt lõi." }, { q: "Tôi nên chọn gói trải bài nào?", a: "Nếu bạn có một câu hỏi cụ thể, hãy chọn gói chuyên đề (Tình yêu / Công việc / Tài chính). Nếu bạn cần một bức tranh tổng quan và đồng hành sâu hơn, gói Định hướng cá nhân sẽ phù hợp." }, { q: "Hình thức trải bài diễn ra như thế nào?", a: "Bạn có thể chọn online qua Google Meet hoặc trực tiếp tại không gian Holy Dan. Mỗi buổi kéo dài 60–75 phút, kết hợp tarot và đối thoại trong môi trường riêng tư, an toàn cảm xúc." }, { q: "Tôi có thể hủy hoặc đổi lịch hẹn không?", a: "Hoàn toàn được. Bạn có thể đổi hoặc hủy lịch trước 12 tiếng so với giờ hẹn. Vui lòng nhắn cho Holy Dan để được hỗ trợ nhanh nhất." }, { q: "Tôi có thể đặt lịch gấp trong ngày không?", a: "Có. Holy Dan có một số khung giờ linh hoạt cho lịch gấp. Vui lòng liên hệ trực tiếp để kiểm tra tình trạng và đặt lịch trong ngày." }]; return (
FAQ · Câu hỏi thường gặp

Bạn còn điều gì
muốn hỏi?

Holy Dan ở đây để trả lời tất cả những điều bạn còn băn khoăn, một cách rõ ràng, dịu dàng và thẳng thắn.

{items.map((it, i) =>

{it.a}

)}
); } // ===== Booking modal ===== function BookingModal({ open, onClose }) { const [step, setStep] = useState({ service: "", date: "", time: "", name: "", email: "", phone: "", note: "" }); const slots = ["09:00", "09:30", "10:00", "10:30", "13:30", "14:00", "14:30", "15:00", "15:30", "16:00", "16:30", "17:00"]; useEffect(() => { if (open) document.body.style.overflow = "hidden";else document.body.style.overflow = ""; return () => {document.body.style.overflow = "";}; }, [open]); return (
e.stopPropagation()}>
Đặt lịch đồng hành

Một khoảng tĩnh dành riêng cho bạn

Vui lòng điền thông tin, Holy Dan sẽ xác nhận trong vòng 24 giờ.

setStep({ ...step, date: e.target.value })} />
{slots.map((s) => )}
setStep({ ...step, name: e.target.value })} />
setStep({ ...step, email: e.target.value })} />
setStep({ ...step, phone: e.target.value })} />

Bằng việc xác nhận, bạn đồng ý với chính sách bảo mật của Holy Dan.

); } // ===== Footer ===== function Footer() { return ( ); } // ===== App ===== function App() { const [bookingOpen, setBookingOpen] = useState(false); const [tweaks, setTweak] = useTweaks(TWEAK_DEFAULTS); // apply accent color useEffect(() => { document.documentElement.style.setProperty("--mystic-gold", tweaks.accentColor); }, [tweaks.accentColor]); const ctaTones = ["Plum", "Gold", "Taupe"]; const heroLayouts = ["Arch composition", "Minimal centered"]; return ( <> setBookingOpen(true)} /> setBookingOpen(true)} showCornerBursts={tweaks.showCornerBursts} showParticles={tweaks.showParticles} /> setBookingOpen(true)} />