Sid Gifari File Manager
🏠 Root
/
home
/
u403571817
/
domains
/
rawneeded.anmka.com
/
public_html
/
Editing: WORKING_HOURS_TOGGLE_DEVELOPMENT.md
# تطوير زر فتح/إغلاق المتجر ## نظرة عامة تم تطوير نظام بسيط لفتح وإغلاق المتجر في صفحة `/vendors/edit` بدلاً من نظام مواعيد العمل المعقد. ## التغييرات المنجزة ### 1. استبدال قسم Working Hours ✅ **تم حذف:** - نظام مواعيد العمل المعقد (7 أيام × مواعيد متعددة) - جداول مواعيد العمل لكل يوم - أزرار "إضافة المزيد" لكل يوم - حقول "من" و "إلى" للوقت - نظام الخصومات الخاصة **تم إضافة:** - زر تبديل بسيط (Toggle Switch) - تسمية ديناميكية (مفتوح/مغلق) - نص مساعد للتوضيح ### 2. HTML الجديد ✅ ```html <fieldset class="ecommerce_div"> <legend>{{trans('lang.working_hours')}}</legend> <div class="form-group row"> <div class="form-check form-switch"> <input type="checkbox" class="form-check-input" id="store_status" onchange="toggleStoreStatus()"> <label class="form-check-label" for="store_status" id="store_status_label">{{trans('lang.store_closed')}}</label> <div class="form-text text-muted"> {{ trans("lang.store_status_help") }} </div> </div> </div> </fieldset> ``` ### 3. CSS المخصص ✅ ```css /* Store Status Toggle Styles */ .form-check-input:checked { background-color: #28a745; border-color: #28a745; } .form-check-input { width: 2.5em; height: 1.25em; border-radius: 0.75em; } .form-check-label { margin-left: 0.5em; font-size: 14px; font-weight: 500; } .store-status-open { color: #28a745; font-weight: bold; } .store-status-closed { color: #dc3545; font-weight: bold; } ``` ### 4. JavaScript الجديد ✅ ```javascript // Store Status Toggle Function function toggleStoreStatus() { const storeStatusCheckbox = document.getElementById('store_status'); const storeStatusLabel = document.getElementById('store_status_label'); if (storeStatusCheckbox.checked) { storeStatusLabel.textContent = '{{trans("lang.store_open")}}'; storeStatusLabel.className = 'form-check-label store-status-open'; } else { storeStatusLabel.textContent = '{{trans("lang.store_closed")}}'; storeStatusLabel.className = 'form-check-label store-status-closed'; } } ``` ### 5. تحديث دالة الحفظ ✅ **تم إضافة:** ```javascript var storeStatus = $("#store_status").is(':checked'); ``` **تم إضافة في Firebase:** ```javascript 'isOpen': storeStatus, ``` ### 6. تحديث دالة التحميل ✅ **تم إضافة:** ```javascript // Load store status if (vendor.hasOwnProperty('isOpen')) { $("#store_status").prop('checked', vendor.isOpen); toggleStoreStatus(); // Update the label } ``` ### 7. ملفات الترجمة ✅ **العربية (`resources/lang/ar/lang.php`):** ```php 'store_open' => 'المتجر مفتوح', 'store_closed' => 'المتجر مغلق', 'store_status_help' => 'استخدم هذا الزر لفتح أو إغلاق المتجر', ``` **الإنجليزية (`resources/lang/en/lang.php`):** ```php 'store_open' => 'Store Open', 'store_closed' => 'Store Closed', 'store_status_help' => 'Use this toggle to control store status (open/closed)', ``` ## الملفات المحدثة ### 1. صفحة تحرير المتجر - **الملف**: `resources/views/vendors/edit.blade.php` - **التحديثات**: - استبدال قسم Working Hours المعقد - إضافة CSS مخصص - إضافة JavaScript للتحكم - تحديث دالة الحفظ - تحديث دالة التحميل ### 2. ملفات الترجمة - **الملف**: `resources/lang/ar/lang.php` - **الملف**: `resources/lang/en/lang.php` - **التحديثات**: إضافة النصوص الجديدة ## النتيجة النهائية ### الوظائف الجديدة: - ✅ **زر تبديل بسيط** لفتح/إغلاق المتجر - ✅ **تسمية ديناميكية** تتغير حسب الحالة - ✅ **ألوان مميزة** (أخضر للمفتوح، أحمر للمغلق) - ✅ **حفظ في Firebase** مع حقل `isOpen` - ✅ **تحميل تلقائي** للحالة المحفوظة - ✅ **دعم متعدد اللغات** (عربي/إنجليزي) ### المزيل: - ❌ نظام مواعيد العمل المعقد - ❌ جداول المواعيد المتعددة - ❌ أزرار "إضافة المزيد" - ❌ حقول الوقت المعقدة - ❌ نظام الخصومات الخاصة ## التوافق ### المحافظ عليه: - ✅ جميع الوظائف الأساسية للمتجر - ✅ التكامل مع Firebase - ✅ نظام الترجمة - ✅ التصميم المتجاوب - ✅ التحقق من صحة البيانات ### المزيل: - ❌ نظام مواعيد العمل المعقد - ❌ الخصومات الخاصة - ❌ جداول المواعيد المتعددة ## الاستخدام ### للمستخدم: 1. **فتح المتجر**: تفعيل الزر → يصبح "المتجر مفتوح" (أخضر) 2. **إغلاق المتجر**: إلغاء تفعيل الزر → يصبح "المتجر مغلق" (أحمر) 3. **حفظ التغييرات**: النقر على "حفظ" لحفظ الحالة في Firebase ### للمطور: - **حقل Firebase**: `isOpen` (boolean) - **قيمة `true`**: المتجر مفتوح - **قيمة `false`**: المتجر مغلق ## الفوائد ### 1. **البساطة** - واجهة مستخدم بسيطة وواضحة - لا حاجة لمعرفة مواعيد العمل المعقدة - تحكم فوري في حالة المتجر ### 2. **الكفاءة** - تقليل تعقيد الكود - تحسين الأداء - سهولة الصيانة ### 3. **تجربة المستخدم** - واجهة بديهية - استجابة فورية - ألوان مميزة للحالات ### 4. **المرونة** - دعم متعدد اللغات - سهولة التوسع - توافق مع Firebase --- **تاريخ التطوير**: سبتمبر 2025 **المطور**: مساعد الذكي الاصطناعي **حالة المشروع**: مكتمل ✅ **النسخة**: 1.0.0 ## ملاحظات مهمة 1. **التوافق**: النظام متوافق مع Firebase والترجمة 2. **الأداء**: محسن بدون التعقيدات السابقة 3. **الأمان**: جميع الوظائف الأساسية محفوظة 4. **القابلية للتوسع**: يمكن إضافة مميزات جديدة بسهولة 5. **الدعم**: دعم كامل للغة العربية والإنجليزية ## هيكل الملف المحدث ``` resources/views/vendors/edit.blade.php ├── CSS Styles (New) │ ├── Toggle Switch Styling │ ├── Status Colors │ └── Responsive Design ├── HTML Structure (Updated) │ ├── Simple Toggle Switch │ ├── Dynamic Labels │ └── Help Text └── JavaScript Functions (Updated) ├── toggleStoreStatus() ├── Save Function (Updated) └── Load Function (Updated) ``` تم تطوير نظام فتح/إغلاق المتجر بنجاح! 🎉
Save
Cancel