fix: apply bugfix agent improvements to src/app/dashboard/page.tsx
This commit is contained in:
parent
70409d4080
commit
0e3158f1b7
|
|
@ -0,0 +1,68 @@
|
|||
"use client";
|
||||
|
||||
import { useContentStore } from "@/store/contentStore";
|
||||
import StatsCard from "@/components/dashboard/StatsCard";
|
||||
import RecentPosts from "@/components/dashboard/RecentPosts";
|
||||
import { FileText, Eye, Edit, Trash2 } from "lucide-react";
|
||||
|
||||
export default function DashboardPage() {
|
||||
const { posts } = useContentStore();
|
||||
|
||||
const publishedCount = posts.filter((p) => p.status === "published").length;
|
||||
const draftCount = posts.filter((p) => p.status === "draft").length;
|
||||
const totalViews = posts.reduce((acc, p) => acc + (p.views ?? 0), 0);
|
||||
|
||||
const stats = [
|
||||
{
|
||||
title: "Total Posts",
|
||||
value: posts.length,
|
||||
icon: FileText,
|
||||
color: "bg-blue-500",
|
||||
textColor: "text-blue-600",
|
||||
bgColor: "bg-blue-50",
|
||||
},
|
||||
{
|
||||
title: "Published",
|
||||
value: publishedCount,
|
||||
icon: Eye,
|
||||
color: "bg-green-500",
|
||||
textColor: "text-green-600",
|
||||
bgColor: "bg-green-50",
|
||||
},
|
||||
{
|
||||
title: "Drafts",
|
||||
value: draftCount,
|
||||
icon: Edit,
|
||||
color: "bg-yellow-500",
|
||||
textColor: "text-yellow-600",
|
||||
bgColor: "bg-yellow-50",
|
||||
},
|
||||
{
|
||||
title: "Total Views",
|
||||
value: totalViews,
|
||||
icon: Trash2,
|
||||
color: "bg-purple-500",
|
||||
textColor: "text-purple-600",
|
||||
bgColor: "bg-purple-50",
|
||||
},
|
||||
];
|
||||
|
||||
return (
|
||||
<div className="space-y-6">
|
||||
<div>
|
||||
<h1 className="text-2xl font-bold text-gray-900">Dashboard</h1>
|
||||
<p className="text-gray-500 mt-1">
|
||||
Welcome back! Here's an overview of your content.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4">
|
||||
{stats.map((stat) => (
|
||||
<StatsCard key={stat.title} {...stat} />
|
||||
))}
|
||||
</div>
|
||||
|
||||
<RecentPosts />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Loading…
Reference in New Issue