'use client'; import React from 'react'; import type { Locale } from '@/lib/locale'; import { pickLocaleText } from '@/lib/locale'; export interface PlanInfo { id: string; groupId: number; name: string; price: number; originalPrice: number | null; validityDays: number; features: string[]; description: string | null; limits: { daily_limit_usd: number | null; weekly_limit_usd: number | null; monthly_limit_usd: number | null; } | null; } interface SubscriptionPlanCardProps { plan: PlanInfo; onSubscribe: (planId: string) => void; isDark: boolean; locale: Locale; } export default function SubscriptionPlanCard({ plan, onSubscribe, isDark, locale }: SubscriptionPlanCardProps) { const periodLabel = plan.validityDays === 30 ? pickLocaleText(locale, '包月', 'Monthly') : pickLocaleText(locale, `包${plan.validityDays}天`, `${plan.validityDays} Days`); const periodSuffix = plan.validityDays === 30 ? pickLocaleText(locale, '/月', '/mo') : pickLocaleText(locale, `/${plan.validityDays}天`, `/${plan.validityDays}d`); return (
{/* Name + Period badge */}

{plan.name}

{periodLabel}
{/* Price */}
{plan.originalPrice !== null && ( ¥{plan.originalPrice} )} ¥{plan.price} {periodSuffix}
{/* Description */} {plan.description && (

{plan.description}

)} {/* Features */} {plan.features.length > 0 && ( )} {/* Limits */} {plan.limits && (

{pickLocaleText(locale, '用量限制', 'Usage Limits')}

{plan.limits.daily_limit_usd !== null && (

{pickLocaleText(locale, `每日: $${plan.limits.daily_limit_usd}`, `Daily: $${plan.limits.daily_limit_usd}`)}

)} {plan.limits.weekly_limit_usd !== null && (

{pickLocaleText(locale, `每周: $${plan.limits.weekly_limit_usd}`, `Weekly: $${plan.limits.weekly_limit_usd}`)}

)} {plan.limits.monthly_limit_usd !== null && (

{pickLocaleText(locale, `每月: $${plan.limits.monthly_limit_usd}`, `Monthly: $${plan.limits.monthly_limit_usd}`)}

)}
)} {/* Spacer */}
{/* Subscribe button */}
); }