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) => ( ))}
) : ( )}
); }