import { CalendarClock, CheckCircle2, Film, Pencil, Play, ShieldCheck, Trash2 } from 'lucide-react' import { imageURL } from '../api/client' import type { Subscription } from '../types' import { subscriptionProgressLabel, subscriptionRuleBadges } from './subscriptionPageModel' interface SubscriptionCardProps { subscription: Subscription onEdit: (subscription: Subscription) => void onRunNow: (subscription: Subscription) => void onRemove: (subscription: Subscription) => void } export function SubscriptionCard({ subscription, onEdit, onRunNow, onRemove }: SubscriptionCardProps) { return (
{subscription.poster_url ? ( {subscription.name} ) : (
{subscription.name}
)}
{subscription.source || 'RSS'} {[subscription.media_type, subscription.media_category].filter(Boolean).join(' / ') || '自动分类'} {subscription.enabled ? '启用中' : '已停用'}

{subscription.name}

{subscription.overview || subscription.filter || '已隐藏订阅源地址,避免多用户场景泄露私有 RSS Token。'}

订阅源已脱敏
{subscription.last_run_at ? new Date(subscription.last_run_at).toLocaleString() : '尚未运行'}
{subscriptionProgressLabel(subscription)}
{subscriptionRuleBadges(subscription).map((label) => ( {label} ))}
) }