"use client"; import Link from "next/link"; import type { TrialState } from "../types"; export function TrialBanner({ trial }: { trial: TrialState | null | undefined }) { if (!trial) return null; if (!trial.active) { const expired = (typeof trial.days_remaining === "number" && trial.days_remaining <= 0) || (trial.ends_at && new Date(trial.ends_at).getTime() < Date.now()); if (!expired) return null; return (

دوره آزمایشی منقضی شده است

ارتقا فوری

برای ادامه قابلیت‌های قفل‌شده، اشتراک را فعال کنید.

); } const days = trial.days_remaining; const urgent = typeof days === "number" && days <= 3; const tone = urgent ? "border-orange-300 bg-orange-50 text-orange-950 dark:border-orange-800 dark:bg-orange-950/30 dark:text-orange-100" : "border-amber-200 bg-amber-50 text-amber-900 dark:border-amber-800 dark:bg-amber-950/30 dark:text-amber-100"; return (

{urgent ? "هشدار: " : ""} دوره آزمایشی فعال است {typeof days === "number" ? ( — {days} روز باقی‌مانده ) : null} {trial.ends_at ? ( ({new Date(trial.ends_at).toLocaleDateString("fa-IR")}) ) : null}

ارتقا به اشتراک
{urgent ? (

قبل از انقضا ارتقا دهید تا قفل قابلیت‌ها فعال نشود.

) : null} {trial.quotas && trial.quotas.length > 0 ? ( ) : null}
); } export function SubscriptionBanner({ status, planName, }: { status?: string | null; planName?: string | null; }) { if (!status) { return (
اشتراک ثبت نشده است.{" "} شروع trial یا انتخاب پلن
); } const tone = status === "active" ? "border-emerald-200 bg-emerald-50 text-emerald-900 dark:border-emerald-800 dark:bg-emerald-950/30 dark:text-emerald-100" : status === "trialing" ? "border-amber-200 bg-amber-50 text-amber-900 dark:border-amber-800 dark:bg-amber-950/30 dark:text-amber-100" : status === "past_due" || status === "expired" || status === "suspended" ? "border-red-200 bg-red-50 text-red-900 dark:border-red-900 dark:bg-red-950/40 dark:text-red-100" : "border-gray-200 bg-gray-50 text-gray-800 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-200"; return (
وضعیت اشتراک: {status} {planName ? ( <> {" "} · پلن: {planName} ) : null} {(status === "past_due" || status === "expired" || status === "suspended") && ( <> {" "} رفع مشکل / ارتقا )}
); }