From 007c450c0a390feb35706fcb3b762de7246a555e Mon Sep 17 00:00:00 2001 From: AliReza Date: Mon, 14 Sep 2026 02:03:19 +0330 Subject: [PATCH] add the subscription card fields MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit plans() حالا features و badge می‌دهد؛ بندهای کارتِ اشتراک و برچسبِ بالایش دیگر لازم نیست در کد بمانند و عوض کردنشان به دیپلویِ تازه نیاز ندارد. Co-Authored-By: Claude Opus 5 --- src/api/README.md | 2 ++ src/api/types.ts | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/src/api/README.md b/src/api/README.md index 5b8ff2d..9d88c1c 100644 --- a/src/api/README.md +++ b/src/api/README.md @@ -53,6 +53,8 @@ const answer = await api.ai.ask('این رو نفهمیدم', { lessonId }); استفاده کنید — یک درخواست برای کلِ مبحث، نه یکی به‌ازای هر کارت. - `lessons.intro()` متن را سه‌تکه می‌دهد: `introText` (توضیح)، `example`، و `steps` (حلِ گام‌به‌گام). `kind` می‌گوید آزمون است یا ویدیو. +- `plans()` حالا `features` و `badge` می‌دهد — بندهای کارتِ اشتراک و برچسبِ + بالایش دیگر لازم نیست در کد بمانند؛ عوض کردنشان به دیپلویِ تازه نیاز ندارد. - `profile.update({ age })` هم کار می‌کند؛ سرور خودش به سالِ تولدِ شمسی تبدیل می‌کند. `age` و `birthYear` را با هم نفرستید. diff --git a/src/api/types.ts b/src/api/types.ts index 5646a71..88add4e 100644 --- a/src/api/types.ts +++ b/src/api/types.ts @@ -142,6 +142,10 @@ export interface Plan { popular: boolean; discountPercent: number; durationDays: number; + /** بندهای زیرِ کارتِ پلن — از سرور می‌آید، دیگر لازم نیست در کد بماند. */ + features: string[]; + /** برچسبِ بالای کارت: «محبوب‌ترین»، «بهترین ارزش». خالی یعنی بدونِ برچسب. */ + badge: string; } export type ReportReason =