══════════ داک بالای چت: خدمات + کانال (صفحهٔ «نتایج جستجو» حذف شد) ══════════

چه تغییری کرد
  • صفحهٔ «نتایج جستجو / خدمت مناسب را انتخاب کنید» دیگر وجود ندارد. همان کار حالا در بالای چت مشتری (chat.html) است:
      - کادر جستجوی خدمت (عبارتی که مشتری در دروازهٔ اول می‌نویسد خودش داخل همین کادر می‌نشیند و نتایج را نشان می‌دهد)
      - ردیف آیکون خدمت‌ها (کشیدنی به چپ و راست) + دکمهٔ «همهٔ خدمات»
      - فرم خدمت‌ها، مادر دسته‌ها و «پیگیری سفارش» داخل یک برگهٔ پایین‌کش باز می‌شوند؛ بعد از ارسال، همان‌جا کد پیگیری و دکمهٔ «ادامهٔ گفتگو» می‌آید
      - دکمهٔ جمع/باز کردن داک (با فلش)؛ وقتی مشتری روی کادر پیام می‌زند و کیبورد باز می‌شود، داک خودکار جمع می‌شود
  • کانال هم همین‌جاست (channel.html فقط به chat.html?ch=1 هدایت می‌کند):
      - دکمهٔ آبی بلندگو کنار جستجو؛ عدد قرمز کوچک = تعداد اطلاعیه‌های خوانده‌نشده
      - مشتری عضو نیست: کارت «عضویت» نشان داده می‌شود. عضو است و خبر تازه دارد: کارت با پیش‌نمایش خبر + عدد
      - داخل کانال: عضویت، خواندن اطلاعیه‌ها (سنجاق‌شده‌ها بالا)، ترک کانال، و دکمهٔ فعال‌سازی اعلان گوشی
  • اعلان محکم گوشی برای هر اطلاعیهٔ تازهٔ مدیر (فقط اعضای کانال که اعلان را فعال کرده‌اند):
      - اعلان جدا برای هر اطلاعیه، می‌ماند تا مشتری ببیند (requireInteraction)، لرزش بلند، عدد روی آیکون اپ (جایی که مرورگر پشتیبانی کند)
      - با لمس اعلان، همان‌جا کانال باز می‌شود
      - ارسال اعلان‌ها بعد از جواب دادن به پنل انجام می‌شود، پس ثبت اطلاعیه برای مدیر کند نمی‌شود
  • index.html حالا فقط همان دروازهٔ سرچ است (بعد از نوشتن، مستقیم می‌رود چت). لینک‌های قدیمی index.html?home=1 و index.html?svc=… به چت هدایت می‌شوند.
    بنر «نصب اپ» هم از صفحهٔ خانه به چت منتقل شد.

یک باگ مهم که پیدا و درست شد
  • webpush.php هیچ‌جا در api.php وارد (require) نشده بود، پس هیچ اعلان Push (نه پاسخ مدیر به مشتری، نه پیام مشتری به مدیر) واقعاً ارسال نمی‌شد
    و /api/c3/push/key خطا می‌داد. حالا require_once شده است. (و در .htaccess جلوی باز شدن مستقیم webpush.php گرفته شد.)
  • دکمهٔ اجازهٔ اعلان حالا اول از همه در همان لمس مشتری از مرورگر اجازه می‌خواهد (برای سافاری/آیفون لازم است).

فایل‌های تغییرکرده / جدید
  جدید:  chat-dock.js ، chat-dock.css
  تغییر: chat.html ، index.html ، channel.html ، sw.js (نسخهٔ کش v10) ، api.php ، webpush.php ، chat3-ui.js ، .htaccess

نصب
  همهٔ فایل‌ها را جایگزین کنید (پوشهٔ data/ را دست نزنید). یک بار صفحه را تازه‌سازی کنید (سرویس‌ورکر به v10 می‌رود).
  اعلان فقط روی https کار می‌کند و به OpenSSL و cURL در PHP نیاز دارد (روی اغلب هاست‌ها هست).
  آیفون: اعلان فقط وقتی می‌آید که مشتری سایت را «افزودن به صفحهٔ اصلی» کرده و از آیکون آن باز کند.
  مشتری باید یک بار «عضویت در کانال» را بزند و اجازهٔ اعلان را بدهد؛ بعد از آن اعلان‌ها خودکار می‌آیند.
  عدد خوانده‌نشده روی هر دستگاه جدا نگه‌داری می‌شود؛ مشتری که روی دستگاه جدید باز کند، از همان لحظه به بعد را خوانده‌نشده می‌شمارد.
