Files
gitlab-instance-0a899031_salon/app/page.tsx
2026-03-15 22:00:10 -05:00

121 lines
5.6 KiB
TypeScript
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"use client";
import Link from "next/link";
import HeroSection from "./components/HeroSection";
import Footer from "./components/Footer";
import { SESSIONS } from "@/config/home.config";
export default function Home() {
return (
<div className="min-h-screen bg-[#fafafa] dark:bg-gray-950">
<HeroSection />
<div className="max-w-[1400px] mx-auto px-5 sm:px-10 py-8 space-y-8">
{/* 信任信息条 */}
<div className="flex flex-wrap justify-center gap-4 sm:gap-8 text-sm text-gray-600 dark:text-gray-400">
<span>📍 </span>
<span>👥 </span>
<span>📋 </span>
<span> </span>
</div>
{/* 本周活动场次 */}
<section>
<h2 className="text-lg font-semibold text-gray-800 dark:text-gray-100 mb-4"></h2>
<div className="grid gap-4 sm:grid-cols-2 lg:grid-cols-3">
{SESSIONS.map((s) => (
<Link
key={s.id}
href={`/join?session=${encodeURIComponent(s.id)}`}
className="right-item block"
>
<div className="right-item-header">{s.title}</div>
<div className="p-4 sm:p-5">
<p className="text-sm text-gray-600 dark:text-gray-400 mb-1">{s.date} {s.time}</p>
<p className="text-xs text-gray-500 dark:text-gray-500 mb-3">{s.place}</p>
<span className="inline-block bg-[#ff4d4f] text-white px-3 py-1.5 rounded-lg text-xs font-semibold">
</span>
</div>
</Link>
))}
</div>
</section>
{/* 为什么很多人更愿意来这种局 */}
<section>
<h2 className="text-lg font-semibold text-gray-800 dark:text-gray-100 mb-4"></h2>
<div className="right-item">
<div className="right-item-header"></div>
<div className="p-4 sm:p-5 space-y-2 text-sm text-gray-600 dark:text-gray-400">
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</div>
</div>
</section>
{/* 安全与边界规则 */}
<section>
<h2 className="text-lg font-semibold text-gray-800 dark:text-gray-100 mb-4"></h2>
<div className="right-item">
<div className="right-item-header"></div>
<div className="p-4 sm:p-5 space-y-2 text-sm text-gray-600 dark:text-gray-400">
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</div>
</div>
</section>
{/* 主理人说明 */}
<section>
<h2 className="text-lg font-semibold text-gray-800 dark:text-gray-100 mb-4"></h2>
<div className="right-item">
<div className="right-item-header"></div>
<div className="p-4 sm:p-5 text-sm text-gray-600 dark:text-gray-400">
<p></p>
</div>
</div>
</section>
{/* FAQ */}
<section>
<h2 className="text-lg font-semibold text-gray-800 dark:text-gray-100 mb-4"></h2>
<div className="space-y-2">
{[
{ q: "需要先注册吗?", a: "不需要。填个简单表单即可,无需注册登录。" },
{ q: "需要先付款吗?", a: "不需要。先看场次,再决定要不要报名,报名不收费。" },
{ q: "活动地点在哪里?", a: "报名后会通过微信或短信告知具体地址,均为公开场地。" },
{ q: "第一次参加可以吗?", a: "可以。我们欢迎第一次参加类似活动的朋友。" },
].map((faq, i) => (
<div key={i} className="right-item">
<div className="right-item-header">{faq.q}</div>
<div className="p-3 sm:p-4 text-sm text-gray-600 dark:text-gray-400">{faq.a}</div>
</div>
))}
</div>
</section>
{/* 底部 CTA */}
<section className="pt-4">
<Link href="/join" className="right-item block max-w-md">
<div className="right-item-header"></div>
<div className="flex flex-col items-center justify-center text-center p-2 sm:p-5 h-[calc(100%-38px)] sm:h-[calc(100%-42px)]">
<span className="text-2xl sm:text-5xl mb-1 sm:mb-3"></span>
<p className="text-[10px] sm:text-sm text-gray-600 dark:text-gray-400 mb-0.5">
</p>
<span className="bg-[#ff4d4f] text-white px-2.5 sm:px-6 py-1 sm:py-2 rounded-lg text-[10px] sm:text-sm font-semibold whitespace-nowrap"> </span>
</div>
</Link>
</section>
</div>
<Footer />
</div>
);
}