import Link from 'next/link';
import { ArrowRight, Flame, TrendingUp } from 'lucide-react';
import EmptyState from '@/components/ui/EmptyState';
import StatusBadge from '@/components/ui/StatusBadge';
import Surface from '@/components/ui/Surface';
import { DashboardPostStat } from '@/types';
interface AdminDashboardPostPerformanceProps {
topPosts: DashboardPostStat[];
risingPosts: DashboardPostStat[];
stalePopularPosts: DashboardPostStat[];
isFallback: boolean;
}
function PostStatRow({ post, isFallback }: { post: DashboardPostStat; isFallback: boolean }) {
return (
{post.categoryName || '미분류'}
{isFallback ? '누적 조회' : '기간 조회'} {(isFallback ? post.viewCount : post.rangeViewCount).toLocaleString()}
{post.title}
);
}
export default function AdminDashboardPostPerformance({
topPosts,
risingPosts,
stalePopularPosts,
isFallback,
}: AdminDashboardPostPerformanceProps) {
const secondaryPosts = risingPosts.length > 0 ? risingPosts : stalePopularPosts;
return (
콘텐츠 성과
인기 글
{topPosts.length > 0 ? (
{topPosts.slice(0, 5).map((post) => (
))}
) : (
)}
{risingPosts.length > 0 ? '상승 중인 글' : '관리 후보 글'}
{secondaryPosts.length > 0 ? (
{secondaryPosts.slice(0, 5).map((post) => (
))}
) : (
)}
);
}