=== Valabi Admin App ===
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.6.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.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 + صفحهٔ تنظیمات.
