fix: apply bugfix agent improvements to src/app/dashboard/posts/[id]/edit/page.tsx

This commit is contained in:
cupadev-admin 2026-03-09 12:48:35 +00:00
parent 40f8c1cb5a
commit 1a0508bba5
1 changed files with 61 additions and 0 deletions

View File

@ -0,0 +1,61 @@
"use client";
import { useEffect, useState } from "react";
import { useParams, useRouter } from "next/navigation";
import { useContentStore } from "@/store/contentStore";
import PostEditor from "@/components/posts/PostEditor";
import type { Post } from "@/types";
export default function EditPostPage() {
const params = useParams();
const router = useRouter();
const { getPostById } = useContentStore();
const [post, setPost] = useState<Post | null>(null);
const [notFound, setNotFound] = useState(false);
useEffect(() => {
const id = params?.id as string;
if (!id) {
setNotFound(true);
return;
}
const found = getPostById(id);
if (found) {
setPost(found);
} else {
setNotFound(true);
}
}, [params, getPostById]);
if (notFound) {
return (
<div className="flex flex-col items-center justify-center py-20 gap-4">
<p className="text-gray-500 text-lg">Post not found.</p>
<button
onClick={() => router.push("/dashboard/posts")}
className="px-4 py-2 bg-primary-600 text-white rounded-lg hover:bg-primary-700 text-sm font-medium"
>
Back to Posts
</button>
</div>
);
}
if (!post) {
return (
<div className="flex items-center justify-center py-20">
<div className="w-8 h-8 border-4 border-primary-500 border-t-transparent rounded-full animate-spin" />
</div>
);
}
return (
<div className="space-y-6">
<div>
<h1 className="text-2xl font-bold text-gray-900">Edit Post</h1>
<p className="text-gray-500 mt-1">Update your post content and settings.</p>
</div>
<PostEditor post={post} />
</div>
);
}