feat(plans): Stage 4 — full admin plan/feature editor
The admin → Plans screen now edits EVERYTHING per plan (the backend already accepted it; only the UI was partial): - All limits (orders/day, tables, terminals, branches, menu categories, menu items, customers, report history, SMS, AI-3D) with an "unlimited (∞)" toggle. - Display names (fa/en), monthly price, sort order, billable-online, active on/off. - Per-plan feature checkboxes grouped by module, plus an "all features (*)" toggle (Enterprise). Sourced from the live feature catalog (/api/admin/features). - Plans listed in sort order (Free·Starter·Pro·Business·Enterprise). - i18n fa/en/ar. Admin tsc + build clean.
This commit is contained in:
@@ -1114,7 +1114,29 @@
|
||||
"title": "خطط الاشتراك",
|
||||
"monthlyPrice": "السعر الشهري (تومان)",
|
||||
"maxOrders": "حد الطلبات اليومي",
|
||||
"saved": "تم الحفظ"
|
||||
"saved": "تم الحفظ",
|
||||
"active": "مفعل",
|
||||
"nameFa": "الاسم (فارسي)",
|
||||
"nameEn": "الاسم (إنجليزي)",
|
||||
"sortOrder": "الترتيب",
|
||||
"billable": "قابل للدفع عبر الإنترنت",
|
||||
"limitsTitle": "الحدود",
|
||||
"featuresTitle": "الميزات",
|
||||
"allFeatures": "كل الميزات",
|
||||
"allFeaturesNote": "تشمل هذه الباقة جميع الميزات الحالية والمستقبلية.",
|
||||
"save": "حفظ",
|
||||
"limits": {
|
||||
"maxOrders": "طلبات/يوم",
|
||||
"maxTables": "الطاولات",
|
||||
"maxTerminals": "أجهزة POS",
|
||||
"maxBranches": "الفروع",
|
||||
"maxCategories": "فئات القائمة",
|
||||
"maxItems": "أصناف القائمة",
|
||||
"maxCustomers": "العملاء",
|
||||
"maxReportDays": "سجل التقارير (أيام)",
|
||||
"maxSms": "رسائل/شهر",
|
||||
"maxAi3d": "3D/شهر"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": "إعدادات التطبيق",
|
||||
|
||||
@@ -1107,7 +1107,29 @@
|
||||
"title": "Subscription plans",
|
||||
"monthlyPrice": "Monthly price (Toman)",
|
||||
"maxOrders": "Max orders per day",
|
||||
"saved": "Plan saved"
|
||||
"saved": "Plan saved",
|
||||
"active": "Active",
|
||||
"nameFa": "Name (Persian)",
|
||||
"nameEn": "Name (English)",
|
||||
"sortOrder": "Sort order",
|
||||
"billable": "Billable online",
|
||||
"limitsTitle": "Limits",
|
||||
"featuresTitle": "Features",
|
||||
"allFeatures": "All features",
|
||||
"allFeaturesNote": "This plan includes all features (current and future).",
|
||||
"save": "Save",
|
||||
"limits": {
|
||||
"maxOrders": "Orders/day",
|
||||
"maxTables": "Tables",
|
||||
"maxTerminals": "POS terminals",
|
||||
"maxBranches": "Branches",
|
||||
"maxCategories": "Menu categories",
|
||||
"maxItems": "Menu items",
|
||||
"maxCustomers": "Customers",
|
||||
"maxReportDays": "Report history (days)",
|
||||
"maxSms": "SMS/month",
|
||||
"maxAi3d": "AI 3D/month"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": "Application settings",
|
||||
|
||||
@@ -1107,7 +1107,29 @@
|
||||
"title": "پلنها و قیمتگذاری",
|
||||
"monthlyPrice": "قیمت ماهانه (تومان)",
|
||||
"maxOrders": "سقف سفارش روزانه",
|
||||
"saved": "پلن ذخیره شد"
|
||||
"saved": "پلن ذخیره شد",
|
||||
"active": "فعال",
|
||||
"nameFa": "نام (فارسی)",
|
||||
"nameEn": "نام (انگلیسی)",
|
||||
"sortOrder": "ترتیب",
|
||||
"billable": "قابل پرداخت آنلاین",
|
||||
"limitsTitle": "محدودیتها",
|
||||
"featuresTitle": "امکانات",
|
||||
"allFeatures": "همه امکانات",
|
||||
"allFeaturesNote": "این پلن به همه امکانات (فعلی و آینده) دسترسی دارد.",
|
||||
"save": "ذخیره",
|
||||
"limits": {
|
||||
"maxOrders": "سفارش روزانه",
|
||||
"maxTables": "میزها",
|
||||
"maxTerminals": "پایانه POS",
|
||||
"maxBranches": "شعب",
|
||||
"maxCategories": "دسته منو",
|
||||
"maxItems": "آیتم منو",
|
||||
"maxCustomers": "مشتریان",
|
||||
"maxReportDays": "تاریخچه گزارش (روز)",
|
||||
"maxSms": "پیامک ماهانه",
|
||||
"maxAi3d": "تولید ۳D ماهانه"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": "تنظیمات اپلیکیشن",
|
||||
|
||||
Reference in New Issue
Block a user