blob: 85b7707988cc114d062f7a1243958129a923fd3e [file] [log] [blame]
import React from "react";
import { useParams } from "react-router-dom";
// 示例数据
const post = {
post_id: "1",
title: "欢迎来到G10论坛",
content: "这里是G10 PT站的官方论坛,欢迎大家发帖交流!",
author_id: "u1",
author_name: "Alice",
created_at: "2024-06-01 12:00",
reply_count: 3,
view_count: 120,
};
const replies = [
{
reply_id: "r1",
post_id: "1",
content: "支持一下!",
author_id: "u2",
author_name: "Bob",
created_at: "2024-06-01 13:00",
},
{
reply_id: "r2",
post_id: "1",
content: "论坛终于上线了!",
author_id: "u3",
author_name: "Carol",
created_at: "2024-06-01 14:20",
},
];
export default function PostDetailPage() {
const { postId } = useParams();
// 这里只展示post和replies的静态内容
return (
<div style={{ maxWidth: 700, margin: "40px auto" }}>
{/* 原帖 */}
<div style={{
background: "#fff",
borderRadius: 12,
boxShadow: "0 2px 8px #e0e7ff",
padding: 24,
marginBottom: 32,
}}>
<div style={{ fontSize: 15, color: "#1976d2", marginBottom: 6 }}>
{post.author_name} · {post.created_at}
</div>
<div style={{ fontWeight: 600, fontSize: 20, marginBottom: 8, color: "#222" }}>
{post.title}
</div>
<div style={{ fontSize: 16, color: "#444", marginBottom: 18 }}>
{post.content}
</div>
<div style={{ display: "flex", justifyContent: "flex-start", gap: 32, fontSize: 14, color: "#888" }}>
<span>回复数: {post.reply_count}</span>
<span>观看数: {post.view_count}</span>
</div>
</div>
{/* 评论区 */}
<div>
{replies.map(reply => (
<div key={reply.reply_id} style={{
display: "flex",
alignItems: "center",
background: "#f8faff",
borderRadius: 8,
padding: "12px 18px",
marginBottom: 16,
fontSize: 15,
}}>
<span style={{ color: "#1976d2", fontWeight: 500, minWidth: 80 }}>{reply.author_name}</span>
<span style={{ flex: 1, marginLeft: 18 }}>{reply.content}</span>
<span style={{ color: "#888", fontSize: 13, marginLeft: 18 }}>{reply.created_at}</span>
</div>
))}
</div>
{/* 回复框 */}
<div style={{
marginTop: 32,
background: "#fff",
borderRadius: 8,
boxShadow: "0 2px 8px #e0e7ff",
padding: 18,
display: "flex",
gap: 12,
alignItems: "center"
}}>
<input
type="text"
placeholder="写下你的回复..."
style={{
flex: 1,
border: "1px solid #bfcfff",
borderRadius: 6,
padding: "8px 12px",
fontSize: 15,
}}
/>
<button style={{
background: "#1976d2",
color: "#fff",
border: "none",
borderRadius: 6,
padding: "8px 24px",
fontSize: 15,
cursor: "pointer"
}}>回复</button>
</div>
</div>
);
}