'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 (
{plan.description}
)} {/* Features */} {plan.features.length > 0 && ({pickLocaleText(locale, '用量限制', 'Usage Limits')}
{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}`)}
)}