=== اپلیکیشن مدیریت والابی ===
Contributors: valabi
Tags: woocommerce, pwa, admin, mobile, otp
Requires at least: 5.6
Tested up to: 6.8
Requires PHP: 7.4
Stable tag: 1.11.1
License: GPLv2 or later

اپلیکیشن مدیریت فروشگاه ووکامرس به‌صورت PWA؛ ورود با پیامک (OTP) و نصب روی صفحه اصلی موبایل.

== Description ==

Valabi Admin App یک اپلیکیشن نصب‌شدنی (PWA) برای مدیران فروشگاه می‌سازد. مدیر لینک را روی موبایل
باز می‌کند، آن را به صفحهٔ اصلی اضافه می‌کند و مثل یک اپ بومی با فروشگاه کار می‌کند — بدون نیاز به
کافه‌بازار یا گوگل‌پلی. ورود با ارسال کد یک‌بارمصرف پیامکی (Kavenegar یا IPPanel) انجام می‌شود.

امکانات:

* سرو اپ روی آدرس ساده `/app` (قابل تنظیم) + مانیفست و سرویس‌ورکر پویا برای «افزودن به صفحه اصلی».
* ورود مدیران با پیامک OTP، فهرست شماره‌های مجاز، محدودیت تلاش و کول‌داون.
* داشبورد خلاصهٔ امروز (فروش، سفارش، در حال پردازش، کم‌موجودی).
* مدیریت سفارش‌ها: اطلاعات کامل، تغییر وضعیت، یادداشت، تماس/پیامک، چاپ فاکتور (افزونهٔ فاکتور والابی).
* گزارش فروش بازه‌ای با نمودار و مقایسهٔ درصدی و پرفروش‌ترین‌ها.
* ویرایش محصولات: سریع (قیمت، موجودی، انتشار)، پیشرفته (توضیحات با ویرایشگر WYSIWYG، دسته‌بندی، ویژگی‌ها، متغیرها)، آپلود تصویر از دوربین، و ساخت محصول پیش‌نویس.
* اعلان وب‌پوش خودمیزبان (بدون Firebase) برای سفارش جدید و کم‌موجودی.
* پی‌وال اشتراک با منطق «مهلت سپس مسدودسازی».
* صفحهٔ تنظیمات با راهنمای گام‌به‌گام فارسی.

== Installation ==

1. افزونه را نصب و فعال کنید.
2. به منوی «اپلیکیشن والابی» بروید.
3. تنظیمات پیامک (کاوه‌نگار یا آی‌پی‌پنل) را وارد کنید.
4. شماره‌های مجاز ورود و کاربر مدیر را تعیین کنید.
5. لینک نصب را روی موبایل باز کرده و به صفحهٔ اصلی اضافه کنید.

== Notes ==

* آدرس‌های `/app`، `/app-manifest.json` و `/app-sw.js` از طریق `template_redirect` و بدون قانون
  بازنویسی سرو می‌شوند؛ نیازی به فلاش پیوندهای یکتا نیست. روی نصب‌های زیرپوشه‌ای هم کار می‌کند.
* وب‌پوش روی iOS فقط برای اپ نصب‌شده (iOS 16.4+) کار می‌کند.

== Changelog ==

= 1.11.1 =
* تغییر نام افزونه به فارسی («اپلیکیشن مدیریت والابی») برای یکدستی با بقیهٔ خانوادهٔ افزونه‌های والابی؛ بدون تغییر عملکردی.

= 1.11.0 =
* افزودن «پوستهٔ رنگی اپ» در تنظیمات: ۹ پوستهٔ آماده (فیروزه‌ای، نیلی، اقیانوس، زمرد، بنفش، رز، غروب، زرشکی، نقره‌ای) که با یک کلیک کل رنگ‌بندی اپ را تغییر می‌دهد.
* رفع اشکال صفحهٔ «سفارش جدید»: جستجوی محصول هیچ نتیجه‌ای نشان نمی‌داد (کلید پاسخ سرور اشتباه خوانده می‌شد)؛ اکنون درست جستجو می‌کند و در نبود نتیجه پیام مناسب نشان می‌دهد.

= 1.10.0 =
* بازطراحی کامل ظاهر اپ: پالت رنگی تازه، شاد و مدرن (فیروزه‌ای/کرم‌رنگ‌های خنک به‌جای زرشکی)، کارت‌های شاخص با رنگ‌های متنوع و دلنشین، و سایه‌ها و گوشه‌های نرم‌تر.
* نوار پایین تمیز و حرفه‌ای با آیکن‌های جدید (به‌جای ایموجی) و متن زیر هر آیکن؛ چهار بخش: خانه، سفارش‌ها، ابزارها، محصولات. گزارش فروش و بازدید سایت به «دسترسی سریع» در خانه منتقل شدند.
* دکمهٔ «خروج» از نوار بالا حذف و به بخش حساب کاربری در صفحهٔ خانه منتقل شد.

= 1.9.0 =
* سفارش دستی (تلفنی/اینستاگرامی): ساخت سفارش گام‌به‌گام از داخل اپ — ابتدا شمارهٔ موبایل (اگر مشتری نباشد، حساب با همان شماره ساخته می‌شود)، سپس انتخاب محصول، سپس مشخصات، و ثبت به‌صورت «در انتظار پرداخت» و قابل ویرایش.
* اسکن بارکد: از صفحهٔ محصولات بارکد را اسکن کنید (یا کد را دستی بزنید) تا مستقیم به همان محصول بروید (بر اساس فیلد SKU).
* مدیریت دیدگاه‌ها: تأیید/لغو تأیید، پاسخ، اسپم و حذف نظرات محصولات از داخل اپ.
* بخش «پیشنهادها»: اتصال به افزونهٔ «پیشنهادهای هوشمند والابی» — آمار، توقف کلی، روشن/خاموش‌کردن هر پیشنهاد و ویرایش تخفیف‌های کاتالوگ (در صورت نصب آن افزونه).

= 1.8.2 =
* نوار اعلان: افزودن گزینهٔ «چسبیده به بالا» — می‌توانید انتخاب کنید نوار هنگام اسکرول ثابت بماند یا با صفحه بالا برود.
* رفع مشکل فیلد لینک: دیگر آدرس‌هایی مثل # یا لینک نسبی را رد نمی‌کند (پیام «Please enter a URL» حذف شد).
* تنظیم فاصلهٔ نوار به ۱۲×۸ و دکمهٔ بستن به اندازهٔ ۱۶ و انتقال آن به سمت راست.

= 1.8.1 =
* نوار اعلان روی موبایل خیلی جمع‌وجورتر شد: کاهش چشمگیر فاصلهٔ بالا/پایین (۴ پیکسل)، فونت و دکمهٔ کوچک‌تر، و دکمهٔ بستن سبک‌تر تا نوار باریک بماند.
* دکمه/لینک نوار حالا کاملاً اختیاری است و این موضوع در فرم شفاف شد (دیگر «هم متن و هم لینک را پر کنید» را به‌صورت الزام نشان نمی‌دهد). اگر فقط لینک را وارد کنید، کل متن نوار قابل کلیک می‌شود.

= 1.8.0 =
* مدیریت «نوار اعلان» از پیشخوان وردپرس هم اضافه شد (زیرمنوی «نوار اعلان» ذیل منوی اپلیکیشن والابی): فهرست نوارها با پیش‌نمایش و وضعیت، ساخت/ویرایش با انتخاب رنگ و دکمه و بازهٔ تاریخ، و انتشار/توقف/حذف. همان داده و همان منطق «هر زمان یک نوار فعال» مشترک با اپلیکیشن موبایل است (تغییرات هر دو طرف یکی است).

= 1.7.0 =
* بخش جدید «ابزارها» در اپلیکیشن با سه ابزار مدیریت فروشگاه:
* — نوار اعلان: ساخت/ویرایش نوار بالای یا پایین سایت با رنگ دلخواه، دکمهٔ لینک، بازهٔ زمانی نمایش و قابلیت بستن؛ انتشار/لغو انتشار با یک کلید (هر زمان فقط یک نوار فعال است).
* — کدهای تخفیف: مشاهدهٔ کوپن‌های ووکامرس و ساخت کوپن جدید (درصدی/مبلغ ثابت، حداقل سبد، سقف استفاده، تاریخ انقضا، ارسال رایگان) با کپی سریع کد.
* — درگاه‌های پرداخت: فعال/غیرفعال‌کردن درگاه‌ها و تغییر ترتیب نمایش آن‌ها در صفحهٔ پرداخت.

= 1.6.1 =
* حذف پوشهٔ بلااستفادهٔ server-reference (پیادهٔ مرجع سرور لایسنس قدیمی) از بستهٔ افزونه.

= 1.6.0 =
* حذف سیستم لایسنس/پی‌وال: اپلیکیشن دیگر به کلید نیاز ندارد و همیشه در دسترس است (بخش لایسنس از تنظیمات و صفحهٔ پی‌وال حذف شد). به‌جای آن یک «ضربان» فنی روزانه و بی‌صدا برای آمار استفاده ارسال می‌شود (آدرس سایت و نسخهٔ افزونه/وردپرس/ووکامرس/PHP)؛ بدون رابط کاربری و بدون اثر بر کارکرد سایت. با ثابت VALABI_ADMIN_APP_TELEMETRY_OFF یا فیلتر valabi_admin_app_telemetry_enabled قابل خاموش‌کردن است.

= 1.5.0 =
* تحلیل ترافیک خودمیزبان: ثبت بازدید بازدیدکنندگان فروشگاه و نمایش آمار در اپلیکیشن — بازدید امروز/۷ روز، کاربران آنلاین و یکتا، منبع ورود (مستقیم/گوگل/اینستاگرام‑تلگرام/کمپین پیامکی/رفرال)، زمان حضور و نرخ خروج، صفحات و جستجوهای پرتکرار، مسیرهای پرتکرار کاربر و نمودار بازدید. بدون سرویس بیرونی و بدون ذخیرهٔ IP خام؛ پاک‌سازی خودکار روزانه.
* ورود به اپلیکیشن با نام کاربری و رمز عبور وردپرس (علاوه بر ورود پیامکی) با محدودیت تلاش.

= 1.4.2 =
* حذف موقت تقویم شمسی از گزارش‌ها (به دلیل مشکل عملکرد): تاریخ‌ها و بازهٔ دلخواه اکنون میلادی هستند. بازه‌های «این ماه»/«امسال» بر پایهٔ ماه/سال میلادی محاسبه می‌شوند. ارقام فارسی حفظ شده‌اند.

= 1.4.1 =
* رفع باگ گزارش‌ها: نمایش نتایج روی فروشگاه‌هایی که جدول WooCommerce Analytics خالی/پر نشده بود (اکنون در صورت خالی بودن، به wc_get_orders برمی‌گردد).
* رفع اختلاف منطقه‌زمانی (به‌ویژه +۳:۳۰ ایران) در فیلتر بازهٔ زمانی گزارش‌ها و «فروش امروز» — حالا سفارش‌های لب مرز روز درست شمرده می‌شوند.

= 1.4.0 =
* ویرایش دسته‌بندی محصول از موبایل (لیست چک‌باکسی سلسله‌مراتبی) در پنل ویرایش پیشرفته.
* ویرایشگر متنی WYSIWYG برای توضیح کوتاه و توضیح کامل (به‌جای ویرایش خام HTML) با ابزار B/I/U و فهرست‌ها.

= 1.3.0 =
* آپلود تصویر محصول از دوربین/گالری موبایل: در صفحهٔ ویرایش محصول روی تصویر بزنید تا جایگزین شود.
* ساخت محصول پیش‌نویس از موبایل (نام + قیمت + توضیح کوتاه + عکس) برای تکمیل بعدی در رایانه.
* افزودن دسترسی upload_files به نقش مدیر اپلیکیشن.

= 1.2.0 =
* تقویم شمسی (جلالی) در گزارش‌ها: برچسب بازه‌ها، محور نمودار، و انتخاب بازهٔ دلخواه با تاریخ شمسی. «این ماه/امسال» بر اساس ماه/سال شمسی.
* ویرایش پیشرفتهٔ محصول: با دکمهٔ «ویرایش پیشرفته» فیلدهای توضیح کوتاه، توضیح کامل، نمایش ویژگی‌ها و دسته‌ها، و ویرایش قیمت/موجودیِ هر متغیر (محصولات متغیر).
* اعلام سازگاری با HPOS ووکامرس + هدر Requires Plugins.
* تنظیم آدرس سرور لایسنس به‌صورت پیش‌فرض و قابل ویرایش در تنظیمات.

= 1.1.0 =
* کارت‌های خانه قابل لمس شدند: «در حال پردازش» → فهرست سفارش‌های در حال پردازش، «کم‌موجودی» → فهرست محصولات کم‌موجود.
* فیلتر «کم‌موجودی» در بخش محصولات.
* قابلیت Pull-to-refresh (کشیدن به پایین برای تازه‌سازی) و نوار هشدار «قطع اینترنت».

= 1.0.0 =
* فاز ۶: پی‌وال اشتراک با اعتبارسنجی لایسنس در برابر سرور والابی، کش وضعیت و منطق «مهلت سپس مسدودسازی» (۳ روز مهلت در صورت قطعی نبودن دسترسی به سرور).
* صفحهٔ پی‌وال داخل اپ + بخش تنظیمات لایسنس (کلید، آدرس تمدید، وضعیت، اعتبارسنجی دستی) + رفرش روزانه با کرون.
* قرارداد API لایسنس و پیاده‌سازی مرجع سرور در پوشهٔ server-reference.
* تکمیل تمام فازها (۱ تا ۶).

= 0.4.0 =
* فاز ۴: اعلان وب‌پوش خودمیزبان (VAPID + aes128gcm) بدون نیاز به Composer یا Firebase؛ اعلان سفارش جدید و کم‌موجودی، با دکمهٔ فعال‌سازی در اپ و اعلان آزمایشی.
* فاز ۵: ویرایش سریع محصولات (قیمت اصلی/فروش، مدیریت و تعداد موجودی، وضعیت موجودی، انتشار/پیش‌نویس).
* تب «محصول» و کارت اعلان‌ها در صفحهٔ خانه فعال شد؛ بررسی سازگاری سرور برای Web Push.

= 0.3.0 =
* فاز ۳: گزارش فروش بازه‌ای (امروز/دیروز/۷ روز/۳۰ روز/این ماه/امسال/دلخواه).
* کارت‌های KPI با مقایسهٔ درصدی نسبت به بازهٔ قبل (فروش کل، خالص، تعداد سفارش، اقلام، میانگین سبد).
* نمودار روند فروش (SVG سبک، بدون کتابخانهٔ خارجی) و فهرست پرفروش‌ترین محصولات.
* استفاده از جداول WooCommerce Analytics در صورت وجود، با fallback کش‌شده به wc_get_orders.

= 0.2.0 =
* فاز ۲: داشبورد خلاصهٔ امروز (فروش، تعداد سفارش، در حال پردازش، کم‌موجودی).
* فهرست سفارش‌ها با فیلتر وضعیت، جستجو و صفحه‌بندی.
* صفحهٔ سفارش: اطلاعات کامل، تغییر وضعیت، ثبت یادداشت (خصوصی/به مشتری)، تماس و پیامک، چاپ فاکتور (در صورت تنظیم).
* REST API احراز هویت‌شده برای داشبورد.

= 0.1.0 =
* انتشار اولیه (فاز ۱): اسکلت PWA نصب‌شدنی + ورود پیامکی OTP + صفحهٔ تنظیمات.
