"use client"; import { useState, useEffect, use } from "react"; import { useRouter } from "next/navigation"; import { ArrowLeft, Eye } from "lucide-react"; import PostEditor from "@/components/PostEditor"; import type { Post } from "@/lib/posts"; export default function EditPostPage({ params, }: { params: Promise<{ slug: string }>; }) { const router = useRouter(); const { slug } = use(params); const [post, setPost] = useState(null); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { async function load() { try { const res = await fetch(`/api/posts/${slug}`); if (!res.ok) throw new Error("文章未找到"); setPost(await res.json()); } catch (err: unknown) { setError(err instanceof Error ? err.message : "加载失败"); } finally { setLoading(false); } } load(); }, [slug]); if (loading) { return (

编辑文章

加载中...
); } if (error || !post) { return (

编辑文章

{error || "文章未找到"}
); } return (

编辑文章

{post.frontMatter.title}

); }