65 lines
2.9 KiB
Markdown
65 lines
2.9 KiB
Markdown
# بهروزرسانی CalendarSwitcher - اضافه شدن به صفحات اصلی
|
||
|
||
## خلاصه تغییرات
|
||
CalendarSwitcher با موفقیت به صفحه ورود (LoginPage) و داشبورد (ProfileShell) اضافه شد.
|
||
|
||
## فایلهای تغییر یافته
|
||
|
||
### 1. LoginPage (`lib/pages/login_page.dart`)
|
||
- ✅ اضافه شدن import های مورد نیاز
|
||
- ✅ اضافه شدن CalendarController به constructor
|
||
- ✅ اضافه شدن AppBar با CalendarSwitcher و LanguageSwitcher
|
||
- ✅ ترتیب: CalendarSwitcher → LanguageSwitcher
|
||
|
||
### 2. ProfileShell (`lib/pages/profile/profile_shell.dart`)
|
||
- ✅ اضافه شدن import های مورد نیاز
|
||
- ✅ اضافه شدن CalendarController به constructor
|
||
- ✅ اضافه شدن CalendarSwitcher به AppBar actions
|
||
- ✅ ترتیب: CalendarSwitcher → LanguageSwitcher → ThemeModeSwitcher
|
||
- ✅ رفع خطای deprecated (surfaceVariant → surfaceContainerHighest)
|
||
|
||
### 3. Main.dart (`lib/main.dart`)
|
||
- ✅ بهروزرسانی LoginPage route برای ارسال CalendarController
|
||
- ✅ بهروزرسانی ProfileShell route برای ارسال CalendarController
|
||
|
||
## ویژگیهای پیادهسازی شده
|
||
|
||
### ✅ صفحه ورود (LoginPage)
|
||
- AppBar با عنوان برنامه
|
||
- CalendarSwitcher در سمت راست
|
||
- LanguageSwitcher در کنار CalendarSwitcher
|
||
- طراحی responsive و زیبا
|
||
|
||
### ✅ داشبورد (ProfileShell)
|
||
- AppBar با لوگو و عنوان برنامه
|
||
- CalendarSwitcher در actions
|
||
- LanguageSwitcher در کنار CalendarSwitcher
|
||
- ThemeModeSwitcher در انتها
|
||
- LogoutButton در انتهای actions
|
||
|
||
## ترتیب نمایش در AppBar
|
||
1. **CalendarSwitcher** - انتخاب نوع تقویم (میلادی/شمسی)
|
||
2. **LanguageSwitcher** - انتخاب زبان (فارسی/انگلیسی)
|
||
3. **ThemeModeSwitcher** - انتخاب تم (فقط در ProfileShell)
|
||
4. **LogoutButton** - خروج (فقط در ProfileShell)
|
||
|
||
## تست و بررسی
|
||
- ✅ Flutter analyze بدون خطای critical
|
||
- ✅ تمام import ها صحیح
|
||
- ✅ Constructor ها بهروزرسانی شده
|
||
- ✅ UI responsive و زیبا
|
||
- ✅ ترتیب منطقی در AppBar
|
||
|
||
## نحوه استفاده
|
||
کاربران حالا میتوانند در تمام صفحات اصلی (ورود، خانه، داشبورد) نوع تقویم مورد نظر خود را انتخاب کنند:
|
||
|
||
1. **صفحه ورود**: CalendarSwitcher در AppBar بالای فرم ورود
|
||
2. **صفحه خانه**: CalendarSwitcher در AppBar کنار LanguageSwitcher
|
||
3. **داشبورد**: CalendarSwitcher در AppBar کنار سایر کنترلها
|
||
|
||
## نکات مهم
|
||
- CalendarSwitcher در تمام صفحات در دسترس است
|
||
- انتخاب کاربر در SharedPreferences ذخیره میشود
|
||
- تغییر تقویم به صورت سراسری اعمال میشود
|
||
- طراحی یکپارچه و زیبا در تمام صفحات
|