Skip to content

ahmedkalousa/Habbaat

Repository files navigation

Work Spaces App

تطبيق Flutter لإدارة المساحات والوحدات.

التحسينات الأخيرة

حل مشكلة إعادة تحميل البيانات

تم حل مشكلة إعادة تحميل البيانات في كل مرة يتم فيها الدخول إلى صفحة Home من خلال:

  1. إضافة متغير _isInitialized في كلا الـ Provider:

    • SpacesProvider
    • SpaceUnitsProvider
  2. تحسين دالة fetchSpacesAndUnits لتجنب إعادة التحميل:

    • إضافة معامل forceRefresh للتحكم في إعادة التحميل
    • التحقق من حالة التهيئة قبل التحميل
  3. إضافة ميزات التحديث اليدوي:

    • زر تحديث في شريط البحث
    • Pull-to-Refresh في الصفحة الرئيسية
    • رسائل تأكيد عند التحديث
  4. تحسين شروط العرض:

    • عرض Loading فقط عند التحميل الأول
    • عرض رسائل مناسبة عند عدم وجود بيانات

تحسين أداء الصور

تم تحسين أداء الصور وحل مشكلة البطء في عرضها من خلال:

  1. تحسين CachedNetworkImage:

    • إضافة cacheKey لتحسين التخزين المؤقت
    • إضافة maxWidthDiskCache و maxHeightDiskCache لتحسين التخزين على القرص
    • إضافة useOldImageOnUrlChange: true لتجنب loading للصور المحفوظة
    • إضافة fadeInDuration و fadeOutDuration لتحسين الانتقال
    • تجنب استخدام memCacheWidth و memCacheHeight للحفاظ على نسب الأبعاد الصحيحة
  2. تحسين MyMiniCard:

    • استبدال DecorationImage مع CachedNetworkImageProvider بـ CachedNetworkImage widget
    • إضافة placeholder و error handling أفضل
    • تحسين التصميم مع gradient overlay
  3. تحسين جميع مكونات الصور:

    • MySpaceCard
    • الصورة الرئيسية في Home Page
    • صور السلايد شو في Space Details Page
    • صورة الوحدة في Unit Details Page
    • جميع الصور في التطبيق
  4. تحسينات إضافية:

    • Placeholder محسن مع loading indicator
    • Error handling محسن
    • الحفاظ على نسب الأبعاد الصحيحة للصور
    • تحسين التخزين المؤقت على القرص
    • تجنب loading للصور المحفوظة مسبقاً
    • تطبيق التحسينات على جميع الصفحات

الميزات الجديدة

  • تحديث البيانات يدوياً: يمكن للمستخدم تحديث البيانات بالضغط على زر التحديث
  • Pull-to-Refresh: سحب الشاشة للأسفل لتحديث البيانات
  • تحسين الأداء: عدم إعادة تحميل البيانات عند التنقل بين الصفحات
  • تحسين عرض الصور: تحميل أسرع للصور مع تخزين مؤقت محسن
  • رسائل تأكيد: إشعارات عند نجاح التحديث

كيفية الاستخدام

  1. التحديث التلقائي: البيانات تُحمل مرة واحدة عند بدء التطبيق
  2. التحديث اليدوي: اضغط على زر التحديث في شريط البحث
  3. Pull-to-Refresh: اسحب الشاشة للأسفل في الصفحة الرئيسية
  4. تحسين الصور: الصور تُحمل مرة واحدة وتُخزن في الذاكرة المؤقتة

الملفات المعدلة

  • lib/provider/my_provider.dart
  • lib/provider/space_units_provider.dart
  • lib/main.dart
  • lib/view/my_page/home_page_1.dart
  • lib/view/my_wedgit/my_mini_card.dart
  • lib/view/my_wedgit/my_space_card.dart
  • lib/view/my_page/unit_details_page.dart
  • lib/view/my_page/space_details_page.dart

Getting Started

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Habbaat

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors