3.4 KiB
3.4 KiB
یکپارچهسازی تقویم در بخش بازاریابی
تغییرات انجام شده
✅ اضافه شدن CalendarController به MarketingPage
- CalendarController به constructor اضافه شد
- MarketingPage حالا تقویم انتخابی کاربر را میشناسد
✅ تنظیم DatePicker بر اساس تقویم انتخابی
DatePicker ها حالا بر اساس تقویم انتخابی کاربر تنظیم میشوند:
تقویم شمسی:
locale: const Locale('fa', 'IR')
تقویم میلادی:
locale: const Locale('en', 'US')
🔧 تغییرات کد:
1. Import CalendarController
import '../../core/calendar_controller.dart';
2. Constructor بهروزرسانی شده
class MarketingPage extends StatefulWidget {
final CalendarController calendarController;
const MarketingPage({super.key, required this.calendarController});
}
3. DatePicker از تاریخ
Future<void> _pickFromDate() async {
final picked = await showDatePicker(
context: context,
initialDate: _fromDate ?? now,
firstDate: first,
lastDate: last,
helpText: t.dateFrom,
locale: widget.calendarController.isJalali
? const Locale('fa', 'IR')
: const Locale('en', 'US'),
);
}
4. DatePicker تا تاریخ
Future<void> _pickToDate() async {
final picked = await showDatePicker(
context: context,
initialDate: _toDate ?? now,
firstDate: first,
lastDate: last,
helpText: t.dateTo,
locale: widget.calendarController.isJalali
? const Locale('fa', 'IR')
: const Locale('en', 'US'),
);
}
5. بهروزرسانی main.dart
GoRoute(
path: '/user/profile/marketing',
name: 'profile_marketing',
builder: (context, state) => MarketingPage(calendarController: _calendarController!),
),
🎯 ویژگیهای جدید:
1. تطبیق با تقویم انتخابی
- DatePicker ها بر اساس تقویم انتخابی کاربر نمایش داده میشوند
- تقویم شمسی: Locale فارسی
- تقویم میلادی: Locale انگلیسی
2. یکپارچگی با سیستم تقویم
- MarketingPage از CalendarController استفاده میکند
- تغییر تقویم در سایر صفحات بر روی DatePicker ها تأثیر میگذارد
3. تجربه کاربری بهتر
- کاربران میتوانند تاریخها را با تقویم مورد نظر خود انتخاب کنند
- فیلتر تاریخ بر اساس تقویم انتخابی کار میکند
✨ نتیجه:
حالا در بخش بازاریابی:
- فیلتر تاریخ از: بر اساس تقویم انتخابی
- فیلتر تاریخ تا: بر اساس تقویم انتخابی
- تطبیق خودکار: با تغییر تقویم در سایر صفحات
🔄 نحوه کار:
- کاربر تقویم مورد نظر را انتخاب میکند
- در بخش بازاریابی، DatePicker ها بر اساس تقویم انتخابی نمایش داده میشوند
- فیلتر تاریخ بر اساس تقویم انتخابی کار میکند
تست
- ✅ Flutter analyze بدون خطای critical
- ✅ CalendarController یکپارچه شده
- ✅ DatePicker ها تطبیق یافته
- ✅ عملکرد صحیح