# إضافة الدخول الملكي (royal_entrance) - CodyChat

إضافة مستقلة تمامًا (مفيش أي تعديل على أي ملف أساسي، جدول واحد بس
خاص بيها: `boom_royal_entrance`).

## آلية العمل (اتفحصت من كودك الفعلي قبل البناء)

رسالة "انضمام" النظام (`joinRoomMessage()` → `systemPostChat(...,
'system__join')` في `system/function.php`) بتوصل لكل المتصلين في
الغرفة زي أي رسالة شات عادية. الإضافة بتمسك (`wrap`) دالة `chatSound()`
الموجودة في `js/function_main.js` (بتتنادى لكل رسالة جديدة)، وبتفحص:
لو الرسالة من نوع `system__join`، بتسأل السيرفر هل العضو المنضم ده
معاه دخول ملكي مفعّل، ولو أيوه بيظهر الإشعار العائم **لكل حد شايف
رسالة الانضمام دي** (يعني كل المتصلين في الغرفة، بالظبط زي ما "فلان
انضم" بتظهر للكل).

## التركيب

1. ارفع مجلد `royal_entrance` داخل `codychat/addons/royal_entrance`.
2. ادخل لوحة تحكم الأدمن → الإضافات → اضغط "تركيب".
3. اضغط على زرار **الإعدادات (⚙)** بجانب الإضافة، واختار الرتب اللي
   تقدر تشوف أيقونة التاج 👑 وتستخدمها عشان تدي الدخول الملكي لأي عضو
   (افتراضياً: نفس الرتب اللي كانت شغالة قبل كده - 70 فأكتر).

## إيه اللي اتغيّر في النسخة دي

- **مكان الدخول اتغيّر**: بدل أيقونة منفصلة في الشريط العلوي، دلوقتي
  هتلاقي عنصر "إعدادات الدخول الملكي" جوه نفس القائمة اللي بتفتح لما
  تدوس على صورتك الدائرية فوق (جنب "الملف الشخصي" و"تسجيل الخروج")،
  وده بيظهر بس للرتب المسموح لها (حسب إعدادات الإضافة).
- **علم الدولة**: كان فيه باج في الكود (اسم عمود غلط) بيمنع العلم من
  الظهور خالص حتى لو العضو حاطط دولته - اتصلح.
- **تحديد مين يشوف الميزة بقى من الإعدادات**: بدل ما يكون مربوط
  تلقائيًا بأي حساب "إدارة" في السكربت (`isStaffRank()`)، دلوقتي
  الأدمن بيحدد بنفسه من صفحة إعدادات الإضافة أي رتب بالظبط تقدر تشوف
  عنصر "إعدادات الدخول الملكي" وتستخدمه.
- **تصميم الإشعار العائم بقى أصغر وأخف وأرقى**: الصورة الدائرية نزلت
  من 54px لـ 38px، الحركة بقت ناعمة من غير ارتداد قوي (bounce)، الظل
  أخف، والتاج بقى بيتوهج بهدوء بدل ما "يقفز" فوق وتحت.
- **كارت "تصميم وبرمجة أيمن"**: ضيف في أسفل صفحة إعدادات الإضافة، فيه
  رابط مباشر لصفحة الفيسبوك.

## إزاي تستخدمها

1. من عنصر "إعدادات الدخول الملكي" (جوه قائمة صورتك الدائرية فوق)،
   دور على اسم العضو في خانة البحث.
2. اضغط عليه من نتائج البحث.
3. اختار نوع الدخول الملكي (3 بنات + 3 شباب، كل واحد بلون وهوية بصرية
   مختلفة تمامًا).
4. اضغط "موافق".
5. من دلوقتي، أي مرة العضو ده يدخل الشات، هيظهر إشعار ملكي عائم بيدخل
   من اليسار لليمين بتأثيرات (بريق + شرارات + توهج + تاج متحرك + صوت
   خفيف) فيه صورته واسمه ودولته، لكل المتصلين في الغرفة.
6. تقدر تلغي الدخول الملكي لأي عضو من نفس اللوحة (قائمة "الأعضاء
   المفعّل لهم دخول ملكي" تحت).

## الـ 6 أنواع

| النوع | الفئة | الألوان |
|---|---|---|
| ملكة ذهبية | بنات | ذهبي/كهرماني |
| ألماسة | بنات | أزرق فاتح/سماوي |
| وردة ملكية | بنات | وردي/عنابي |
| لهب أزرق | شباب | أزرق غامق/نيون |
| إمبراطور | شباب | ذهبي غامق |
| نخبة سوداء | شباب | أسود/فضي |

## ملاحظات فنية

- البيانات اللي بتظهر (الاسم/الصورة/الدولة) بتتجاب **حية وقت الدخول
  الفعلي** (عن طريق `userDetails()` الأصلية)، مش محفوظة وقت الإعداد -
  فلو العضو غيّر صورته أو دولته بعد كده، هيظهر بأحدث بياناته دايمًا.
- التحقق من صلاحية الأدمن (بحث/حفظ/حذف) بيتم في السيرفر، مش بس إخفاء
  الأيقونة في الفرونت.
- الصوت بيتعمل بـ Web Audio API مباشرة (نغمة بسيطة) - مفيش أي ملف صوت
  خارجي مطلوب رفعه.
- **[مهم فنيًا]**: نفس ملاحظة إضافتي "تسريع الشات" و"الاختصارات":
  `loadAddonsJs()` بينفذ قبل ما `js/function_main.js` يتحمل، فمسك
  دالة `chatSound()` اتأجل لحد `DOMContentLoaded` عشان الدالة تكون
  موجودة فعليًا وقت ما نحاول نمسكها.
- "إلغاء تركيب" الإضافة بيمسح جدولي `boom_royal_entrance` و
  `boom_royal_entrance_settings` بس.
