# مرحله ۴ — Onboarding و منوی اصلی (فقط فارسی): خلاصه

## فلوی سه‌مرحله‌ای Onboarding (فقط بار اول، تا وقتی زبون انتخاب نشده)
۱) **معرفی کوتاه** (`sendOnboardingIntro`) — یه پیام خیلی کوتاه دوزبانه (چون هنوز زبون کاربر مشخص نیست)، فقط اسم ربات + دعوت به انتخاب زبون. جایگزین بنر بزرگ قبلی که همه‌ی امکانات رو قبل از انتخاب زبون نشون می‌داد.
۲) **انتخاب زبون** (`showLangPicker`) — همون که بود.
۳) **انتخاب هدف کاربر** (`showOnboardingGoalPicker`) — فقط یک‌بار، بلافاصله بعد از اولین انتخاب زبون. ۴ گزینه: 📡 مشاهده‌ی سیگنال‌ها، 🤖 ربات‌های من، 📊 بررسی بازار، 🎁 شروع تست رایگان. هرکدوم انتخاب بشه، کاربر مستقیم به همون بخش می‌ره و بلافاصله بعدش منوی اصلی کامل هم نشونش داده می‌شه (تا توی بن‌بست گیر نکنه).

**تغییر زبان بعدی (نه Onboarding اولیه)** از منو دیگه این مرحله‌ی سوم رو نشون نمی‌ده — مستقیم می‌ره به منوی اصلی، چون `setLangAndProceed` قبل از ذخیره‌ی زبون چک می‌کنه که آیا این اولین انتخاب زبونه یا نه.

**تست ادامه‌ی Onboarding نصفه‌کاره (چک‌لیست ردیف ۵):** اگه کاربر بعد از انتخاب زبون ولی قبل از انتخاب هدف، ربات رو ببنده، دفعه‌ی بعد که `/start` بزنه، چون `hasPickedLang` دیگه true شده، مستقیم می‌ره سراغ منوی اصلی کامل (نه این‌که گیر کنه توی یه حالت نامعتبر، و نه این‌که Onboarding از اول تکرار بشه).

## منوی اصلی خلوت‌شده
قبلاً ۱۰ ردیف/۱۳ دکمه بود. الان:
```
📡 سیگنال    🤖 ربات‌های فعال
💳 خرید اشتراک   👤 پروفایل
🧰 امکانات بیشتر
```
همه‌ی گزینه‌های قبلی (تست رایگان، معامله اتوماتیک، بیمه، زیرمجموعه، ماشین‌حساب، راهنما، پشتیبانی، دستیار هوشمند، تغییر زبان، پنل ادمین) **حذف نشدن** — فقط زیر دکمه‌ی 🧰 «امکانات بیشتر» جابه‌جا شدن (`KB::moreFeatures`). دکمه‌ی بازگشت اون زیرمنو دقیقاً با همون callback عمومی `back_main` به منوی اصلی برمی‌گرده.

## هماهنگی با Design System (مرحله ۳)
همه‌ی متن‌ها و ایموجی‌های جدید (🧰 امکانات بیشتر، 🎯 عنوان انتخاب هدف) مستقیم از همون قوانین مرحله ۳ ساخته شدن؛ ایموجی 🧰 قبلاً جایی استفاده نشده بود، پس تداخلی با جدول مرحله ۳ نداره.

## وضعیت چک‌لیست
- [x] هر دکمه‌ی منو، مسیر درست به همون بخش قبلی رو باز می‌کنه — همه‌ی callbackهای قدیمی (`main_auto`, `main_insurance`, ...) دست‌نخورده موندن، فقط از کجا صدا زده می‌شن عوض شده.
- [x] دکمه‌ی «بازگشت» از زیرمنوی جدید (`امکانات بیشتر`) دقیقاً به منوی اصلی برمی‌گرده.
- [ ] طول متن Onboarding روی گوشی با صفحه‌ی کوچیک — این تست فقط روی تلگرام واقعی با گوشی واقعی قابل انجامه؛ من متن معرفی رو عمداً خیلی کوتاه نگه داشتم (۲ خط) تا ریسکش کم باشه، ولی تایید نهایی با شماست.
- [x] هیچ گزینه‌ی قدیمی از منوی اصلی گم نشده — فقط جابه‌جا شده.
- [x] کاربری که وسط Onboarding می‌بنده و دوباره باز می‌کنه، توی حالت نامعتبر گیر نمی‌کنه.

## تست دستی که باید خودتون انجام بدید
چون به تلگرام واقعی دسترسی ندارم، این‌ها رو حتماً روی ربات واقعی چک کنید:
1. یه اکانت تلگرام تازه (یا `/start` بعد از پاک‌کردن ردیف کاربر از دیتابیس) بزنید و کل فلوی معرفی → زبون → هدف رو ببینید.
2. وسط فلو (بعد از انتخاب زبون) ربات رو ببندید، دوباره `/start` بزنید — باید مستقیم منوی اصلی بیاد.
3. از منوی اصلی روی «🧰 امکانات بیشتر» بزنید، هر کدوم از گزینه‌های داخلش رو تست کنید، بعد «بازگشت» رو بزنید — باید دقیقاً منوی اصلی بیاد.
4. متن معرفی رو روی یه گوشی با صفحه‌ی کوچیک ببینید که شکسته/زشت نشه.

## فایل تحویلی
- `traderpro.php` — به‌روزرسانی‌شده (Onboarding سه‌مرحله‌ای + منوی اصلی خلوت‌شده + زیرمنوی امکانات بیشتر، برای هر ۲۱ زبون از نظر متن آماده‌ست، ولی طبق خودِ مرحله ۴، فعلاً فقط رفتار فارسی تست/تایید می‌شه).
