63 lines
2.4 KiB
TypeScript
63 lines
2.4 KiB
TypeScript
import Footer from "@/app/components/Footer";
|
||
import { guidelinesContent } from "@/app/data/mock";
|
||
|
||
export const metadata = {
|
||
title: "社区准则 | 游牧中国",
|
||
description: "游牧中国社区准则,打造健康、积极、互助的社区氛围。",
|
||
};
|
||
|
||
export default function GuidelinesPage() {
|
||
return (
|
||
<>
|
||
<main className="min-h-screen bg-[#fafafa] dark:bg-gray-950">
|
||
<section className="max-w-4xl mx-auto px-4 sm:px-6 py-12 sm:py-20">
|
||
<h1 className="text-3xl sm:text-4xl font-bold text-gray-900 dark:text-gray-100 mb-2 flex items-center gap-2">
|
||
<span className="w-1 h-10 bg-[#ff4d4f] rounded-full" />
|
||
社区准则
|
||
</h1>
|
||
<p className="text-gray-600 dark:text-gray-400 mb-10">
|
||
我们希望打造一个健康、积极、互助的数字游民社区。以下准则需要所有成员共同遵守。
|
||
</p>
|
||
<div className="space-y-8">
|
||
{guidelinesContent.sections.map((section, index) => (
|
||
<div
|
||
key={index}
|
||
className="bg-white dark:bg-gray-900 rounded-xl p-6 border border-gray-100 dark:border-gray-800"
|
||
>
|
||
<h2 className="text-xl font-bold text-gray-900 dark:text-gray-100 mb-4">
|
||
{section.title}
|
||
</h2>
|
||
<div className="prose prose-gray dark:prose-invert max-w-none">
|
||
{section.content.split('\n').map((line, i) => {
|
||
if (line.trim() === '') return null;
|
||
return (
|
||
<p key={i} className="text-gray-600 dark:text-gray-400 mb-2">
|
||
{line}
|
||
</p>
|
||
);
|
||
})}
|
||
</div>
|
||
</div>
|
||
))}
|
||
</div>
|
||
|
||
{/* Report */}
|
||
<div className="mt-10 bg-[#ff4d4f]/5 dark:bg-[#ff4d4f]/10 rounded-xl p-6">
|
||
<h3 className="font-bold text-gray-900 dark:text-gray-100 mb-3">举报违规行为</h3>
|
||
<p className="text-gray-600 dark:text-gray-400 text-sm mb-3">
|
||
如果您发现社区中有违规行为或需要举报,请联系我们。
|
||
</p>
|
||
<a
|
||
href="mailto:hello@nomadcna.com"
|
||
className="text-[#ff4d4f] hover:underline text-sm"
|
||
>
|
||
hello@nomadcna.com
|
||
</a>
|
||
</div>
|
||
</section>
|
||
</main>
|
||
<Footer />
|
||
</>
|
||
);
|
||
}
|