# مرحله ۶ — Bot Store، داشبورد مرکزی و پروفایل: خلاصه

## Badge ثابت روی هر کارت ربات
هر ۵ سطح (`BotTypes::all()`) حالا یه فیلد `badge` داره و کارت معرفی هر ربات (`showBotIntro`) بالای عنوان نشونش می‌ده:
- ساده → 🏷 پایه
- پرو → 🏷 پیشرفته
- پرو پلاس → 🏷 حرفه‌ای
- پرو پلاس پلاس → 🏷 ویژه
- شخصی → 🏷 سفارشی

هر ۲۱ زبون ترجمه شدن (فقط ۵ کلمه‌ی عمومی، نه تکرار برای هر ربات).

## داشبورد مرکزی (ادغام‌شده با پروفایل)
چون منوی اصلی (مرحله ۴) فقط دکمه‌ی «پروفایل» داره، نه یه ورودی جدای «داشبورد»، دو تیکه‌ی خواسته‌شده رو یک‌جا توی همون صفحه‌ی پروفایل گذاشتم (`buildUserInfoBlock`، بالای همه‌چی):
```
📊 داشبورد
🌐 🟢 باز
📡 تعداد سیگنال امروز: 3

🆔 ...
👤 ...
📦 اشتراک‌ها: ...
🤖 ربات‌های من: ...
...
```
- **وضعیت بازار**: از همون `trading_enabled`/`forex_closed` که پنل ادمین از قبل مدیریت می‌کنه، محاسبه می‌شه (نه یه مقدار جدید و جدا).
- **تعداد سیگنال امروز**: کوئری واقعی از جدول `positions` (`opened_at >= امروز ساعت ۰۰:۰۰`) — عدد واقعی، نه تستی.
- بقیه‌ی چیزهایی که مرحله ۶ برای «پروفایل به شکل داشبورد» خواسته بود (نام، پلن، تاریخ انقضا، تعداد ربات فعال، تعداد ریفرال) از قبل توی همین صفحه بودن — چیزی کم نبود، فقط این دو مورد بالاش اضافه شد.

## وضعیت چک‌لیست
- [x] عددهای داشبورد از دیتابیس واقعی میان (نه ثابت/تستی) — کوئری مستقیم روی `positions`، `user_plans`، `active_bots`، `referrals`.
- [x] برای کاربر بدون ربات/اشتراک خطا نمی‌ده — `COUNT(*)` روی جدول خالی همیشه `0` برمی‌گردونه، نه خطا؛ بخش‌های «اشتراک: ندارید» و «ربات: ندارید» از قبل هم همین‌طور بودن.
- [x] مقایسه‌ی Win Rate/ریسک بین سطوح از قبل منطقی بود (۶۸.۵→۷۷٪ و ریسک ۱→۱.۷۵٪، هر دو با سطح بالاتر می‌رن)، بدون تناقض.
- [x] دکمه‌ی «فعال‌سازی» از قبل درست به همون نوع ربات وصل بود؛ چک کردم، مشکلی نبود.

## معیار پایان مرحله
«یه کاربر تست از Bot Store تا فعال‌سازی و دیدنش توی داشبورد» — این مسیر با تغییرات این مرحله دست‌نخورده مونده (فقط نمایش بهتر شده)، پس منطقاً باید کار کنه، ولی چون نیاز به یه اکانت تلگرام واقعی داره، لطفاً خودتون یه‌بار امتحانش کنید و اگه جایی گیر کرد بگید.

## فایل تحویلی
- `traderpro.php` — به‌روزرسانی‌شده.
