diff --git a/lib/controllers/providers/api/all_requests_provider.dart b/lib/controllers/providers/api/all_requests_provider.dart index 1ffda6c6..f099a40f 100644 --- a/lib/controllers/providers/api/all_requests_provider.dart +++ b/lib/controllers/providers/api/all_requests_provider.dart @@ -13,6 +13,7 @@ class AllRequestsProvider extends ChangeNotifier { bool isCloseLoading = false; bool isOverdueLoading = false; bool isHighPriorityLoading = false; + bool isCalendarLoading = false; int stateCode; @@ -22,6 +23,7 @@ class AllRequestsProvider extends ChangeNotifier { AllRequestsAndCount closeRequests; AllRequestsAndCount overdueRequests; AllRequestsAndCount highPriorityRequests; + AllRequestsAndCount calendarRequests; void getRequests() { getHighPriorityRequests(); @@ -61,6 +63,38 @@ class AllRequestsProvider extends ChangeNotifier { } } + Future getCalenderRequests({@required DateTime from, DateTime to}) async { + if (isCalendarLoading == true) return -2; + isCalendarLoading = true; + if (isCalendarLoading == null) notifyListeners(); + Response response; + try { + Map body = { + "typeTransaction": [1, 2, 3, 4], + "statusTransaction": [1, 2, 3], + "priority": [0, 1], + "displayData": [], + "from": from.toIso8601String(), + "to": to?.toIso8601String() ?? from.toIso8601String(), + }; + response = await ApiManager.instance.post(URLs.getAllRequestsAndCount, body: body); + + stateCode = response.statusCode; + if (response.statusCode >= 200 && response.statusCode < 300) { + calendarRequests = AllRequestsAndCount.fromJson(json.decode(response.body)["data"]); + notifyListeners(); + } + isCalendarLoading = false; + notifyListeners(); + return response.statusCode; + } catch (error) { + isCalendarLoading = false; + stateCode = -1; + notifyListeners(); + return -1; + } + } + Future getHighPriorityRequests() async { if (isHighPriorityLoading == true) return -2; isHighPriorityLoading = true; diff --git a/lib/models/all_requests_and_count_model.dart b/lib/models/all_requests_and_count_model.dart index aaff6111..d1186819 100644 --- a/lib/models/all_requests_and_count_model.dart +++ b/lib/models/all_requests_and_count_model.dart @@ -10,44 +10,44 @@ class AllRequestsAndCount { AllRequestsAndCount({this.countServiceRequest, this.countGasRefill, this.countAssetTransfer, this.countPPM, this.detailsStatusTotal, this.total, this.requestsDetails}); AllRequestsAndCount.fromJson(Map json) { - countServiceRequest = json['countServiceRequest'] != null ? new CountServiceRequest.fromJson(json['countServiceRequest']) : null; - countGasRefill = json['countGasRefill'] != null ? new CountServiceRequest.fromJson(json['countGasRefill']) : null; - countAssetTransfer = json['countAssetTransfer'] != null ? new CountServiceRequest.fromJson(json['countAssetTransfer']) : null; - countPPM = json['countPPM'] != null ? new CountServiceRequest.fromJson(json['countPPM']) : null; - detailsStatusTotal = json['detailsStatusTotal'] != null ? new DetailsStatusTotal.fromJson(json['detailsStatusTotal']) : null; - total = json['total'] != null ? new CountServiceRequest.fromJson(json['total']) : null; + countServiceRequest = json['countServiceRequest'] != null ? CountServiceRequest.fromJson(json['countServiceRequest']) : null; + countGasRefill = json['countGasRefill'] != null ? CountServiceRequest.fromJson(json['countGasRefill']) : null; + countAssetTransfer = json['countAssetTransfer'] != null ? CountServiceRequest.fromJson(json['countAssetTransfer']) : null; + countPPM = json['countPPM'] != null ? CountServiceRequest.fromJson(json['countPPM']) : null; + detailsStatusTotal = json['detailsStatusTotal'] != null ? DetailsStatusTotal.fromJson(json['detailsStatusTotal']) : null; + total = json['total'] != null ? CountServiceRequest.fromJson(json['total']) : null; if (json['requestsDetails'] != null) { requestsDetails = []; json['requestsDetails'].forEach((v) { - requestsDetails.add(new RequestsDetails.fromJson(v)); + requestsDetails.add(RequestsDetails.fromJson(v)); }); } } Map toJson() { - final Map data = new Map(); - if (this.countServiceRequest != null) { - data['countServiceRequest'] = this.countServiceRequest.toJson(); + final Map data = {}; + if (countServiceRequest != null) { + data['countServiceRequest'] = countServiceRequest.toJson(); } - if (this.countGasRefill != null) { - data['countGasRefill'] = this.countGasRefill.toJson(); + if (countGasRefill != null) { + data['countGasRefill'] = countGasRefill.toJson(); } - if (this.countAssetTransfer != null) { - data['countAssetTransfer'] = this.countAssetTransfer.toJson(); + if (countAssetTransfer != null) { + data['countAssetTransfer'] = countAssetTransfer.toJson(); } - if (this.countPPM != null) { - data['countPPM'] = this.countPPM.toJson(); + if (countPPM != null) { + data['countPPM'] = countPPM.toJson(); } - if (this.detailsStatusTotal != null) { - data['detailsStatusTotal'] = this.detailsStatusTotal.toJson(); + if (detailsStatusTotal != null) { + data['detailsStatusTotal'] = detailsStatusTotal.toJson(); } - if (this.total != null) { - data['total'] = this.total.toJson(); + if (total != null) { + data['total'] = total.toJson(); } - if (this.requestsDetails != null) { - data['requestsDetails'] = this.requestsDetails.map((v) => v.toJson()).toList(); + if (requestsDetails != null) { + data['requestsDetails'] = requestsDetails.map((v) => v.toJson()).toList(); } return data; } @@ -63,8 +63,8 @@ class CountServiceRequest { } Map toJson() { - final Map data = new Map(); - data['count'] = this.count; + final Map data = {}; + data['count'] = count; return data; } } @@ -83,10 +83,10 @@ class DetailsStatusTotal { } Map toJson() { - final Map data = new Map(); - data['open'] = this.open; - data['inProgress'] = this.inProgress; - data['closed'] = this.closed; + final Map data = {}; + data['open'] = open; + data['inProgress'] = inProgress; + data['closed'] = closed; return data; } } @@ -156,26 +156,26 @@ class RequestsDetails { } Map toJson() { - final Map data = new Map(); - data['id'] = this.id; - data['nameOfType'] = this.nameOfType; - data['priority'] = this.priority; - data['status'] = this.status; - data['assetName'] = this.assetName; - data['assetNo'] = this.assetNo; - data['assetSN'] = this.assetSN; - data['model'] = this.model; - data['supplier'] = this.supplier; - data['manufacturer'] = this.manufacturer; - data['requestType'] = this.requestType; - data['requestNo'] = this.requestNo; - data['gasType'] = this.gasType; - data['site'] = this.site; - data['statusReceiver'] = this.statusReceiver; - data['assetTransferFrom'] = this.assetTransferFrom; - data['assetTransferTo'] = this.assetTransferTo; - data['code'] = this.code; - data['date'] = this.date; + final Map data = {}; + data['id'] = id; + data['nameOfType'] = nameOfType; + data['priority'] = priority; + data['status'] = status; + data['assetName'] = assetName; + data['assetNo'] = assetNo; + data['assetSN'] = assetSN; + data['model'] = model; + data['supplier'] = supplier; + data['manufacturer'] = manufacturer; + data['requestType'] = requestType; + data['requestNo'] = requestNo; + data['gasType'] = gasType; + data['site'] = site; + data['statusReceiver'] = statusReceiver; + data['assetTransferFrom'] = assetTransferFrom; + data['assetTransferTo'] = assetTransferTo; + data['code'] = code; + data['date'] = date; return data; } } diff --git a/lib/new_views/pages/land_page/calender_fragments/calender_days_card.dart b/lib/new_views/pages/land_page/calender_fragments/calender_days_card.dart index 925929b6..a3c05d18 100644 --- a/lib/new_views/pages/land_page/calender_fragments/calender_days_card.dart +++ b/lib/new_views/pages/land_page/calender_fragments/calender_days_card.dart @@ -6,16 +6,13 @@ import '../../../app_style/app_color.dart'; class CalendarDaysCard extends StatelessWidget { final String day; - const CalendarDaysCard({Key key, @required this.day}) : super(key: key); + final bool fill; + const CalendarDaysCard({Key key, @required this.day, this.fill = false}) : super(key: key); @override Widget build(BuildContext context) { - final bgColor = day == "1" ? AppColor.neutral30 : (day == "2" ? AppColor.primary40 : AppColor.green50).withOpacity(0.3); - final dotColor = (day == "1" - ? Colors.transparent - : day == "2" - ? AppColor.primary40 - : AppColor.green50); + final bgColor = fill ? AppColor.primary40.withOpacity(0.3) : AppColor.neutral30; + final dotColor = fill ? AppColor.primary40 : AppColor.green50; return SizedBox( height: 45.toScreenWidth, width: 45.toScreenWidth, @@ -28,11 +25,12 @@ class CalendarDaysCard extends StatelessWidget { decoration: BoxDecoration(shape: BoxShape.circle, color: bgColor), child: day.bodyText(context).custom(color: AppColor.neutral50), ), - PositionedDirectional( - bottom: 16.toScreenHeight, - end: 16.toScreenWidth, - child: CircleAvatar(backgroundColor: dotColor, radius: 2.5), - ), + if (fill) + PositionedDirectional( + bottom: 16.toScreenHeight, + end: 16.toScreenWidth, + child: CircleAvatar(backgroundColor: dotColor, radius: 2.5), + ), ], ), ); diff --git a/lib/new_views/pages/land_page/calender_fragments/daily_fragment.dart b/lib/new_views/pages/land_page/calender_fragments/daily_fragment.dart index c0182e20..eef468e3 100644 --- a/lib/new_views/pages/land_page/calender_fragments/daily_fragment.dart +++ b/lib/new_views/pages/land_page/calender_fragments/daily_fragment.dart @@ -1,5 +1,15 @@ import 'package:flutter/material.dart'; +import 'package:intl/intl.dart'; +import 'package:provider/provider.dart'; +import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart'; +import 'package:test_sa/extensions/widget_extensions.dart'; + +import '../../../../controllers/providers/api/all_requests_provider.dart'; +import '../requests/asset_item_view.dart'; +import '../requests/gas_refill_item_view.dart'; +import '../requests/ppm_item_view.dart'; +import '../requests/service_request_item_view.dart'; class DailyFragment extends StatefulWidget { const DailyFragment({Key key}) : super(key: key); @@ -11,11 +21,17 @@ class DailyFragment extends StatefulWidget { } class _DailyFragmentState extends State { - DateTime currentDateTime = DateTime.now(); + DateTime _initialDate, _firstDate, _lastDate; @override void initState() { super.initState(); + _initialDate = DateTime.now(); + _firstDate = DateTime.utc(2010, 10, 16); + _lastDate = DateTime.utc(2030, 3, 14); + Provider.of(context, listen: false).getCalenderRequests( + from: DateTime(DateTime.now().year, DateTime.now().month, DateTime.now().day), + ); } @override @@ -26,9 +42,46 @@ class _DailyFragmentState extends State { @override Widget build(BuildContext context) { return SingleChildScrollView( - child: Column( - children: ["Daily".heading5(context)], - ), - ); + child: Consumer(builder: (context, snapshot, _) { + return Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + snapshot.isCalendarLoading ? const Center(child: CircularProgressIndicator()) : DateFormat("EEEE, d MMMM, yyyy").format(DateTime.now()).heading5(context), + if (snapshot.calendarRequests?.requestsDetails?.isNotEmpty ?? false) const Divider().defaultStyle(context), + ListView.separated( + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + itemBuilder: (cxt, index) { + final list = snapshot.calendarRequests.requestsDetails; + if (snapshot.isCalendarLoading) return const SizedBox().toRequestShimmer(cxt, snapshot.isCalendarLoading); + bool isServiceRequest = list[index].nameOfType == "ServiceRequest"; + bool isGasRefill = list[index].nameOfType == "GasRefill"; + bool isAssetTransfer = list[index].nameOfType == "AssetTransfer"; + bool isPPMs = list[index].nameOfType == "PPMs"; + + return isServiceRequest + ? ServiceRequestItemView(list[index]) + : isGasRefill + ? GasRefillItemView(list[index]) + : isPPMs + ? PpmItemView(list[index]) + : isAssetTransfer + ? AssetItemView(list[index]) + : Container( + height: 100, + width: double.infinity, + color: Colors.grey, + ); + }, + separatorBuilder: (cxt, index) => 8.height, + itemCount: snapshot.isCalendarLoading ? 6 : snapshot.calendarRequests.requestsDetails.length, + ), + ], + ).toShadowContainer(context); + }), + ).paddingOnly(start: 16, end: 16); } + + BoxDecoration cellDecoration({Color color}) => BoxDecoration(color: color ?? Colors.transparent, shape: BoxShape.circle); } diff --git a/lib/new_views/pages/land_page/calender_fragments/monthly_fragment.dart b/lib/new_views/pages/land_page/calender_fragments/monthly_fragment.dart index a06d31b2..ca51eaac 100644 --- a/lib/new_views/pages/land_page/calender_fragments/monthly_fragment.dart +++ b/lib/new_views/pages/land_page/calender_fragments/monthly_fragment.dart @@ -1,9 +1,11 @@ import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; +import 'package:provider/provider.dart'; import 'package:table_calendar/table_calendar.dart'; import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; +import '../../../../controllers/providers/api/all_requests_provider.dart'; import '../../../../extensions/text_extensions.dart'; import '../../../app_style/app_color.dart'; import 'calendar_header.dart'; @@ -17,49 +19,81 @@ class MonthlyFragment extends StatefulWidget { } class _MonthlyFragmentState extends State { - PageController _controller; + DateTime _initialDate, _firstDate, _lastDate; + + @override + void initState() { + super.initState(); + _initialDate = DateTime.now(); + _firstDate = DateTime.utc(2010, 10, 16); + _lastDate = DateTime.utc(2030, 3, 14); + Provider.of(context, listen: false).getCalenderRequests( + from: DateTime.now().subtract(const Duration(days: 31)), + to: DateTime.now(), + ); + } @override Widget build(BuildContext context) { return SingleChildScrollView( - //physics: BouncingScrollPhysics(), padding: const EdgeInsets.all(16), child: Column( children: [ - TableCalendar( - firstDay: DateTime.utc(2010, 10, 16), - lastDay: DateTime.utc(2030, 3, 14), - focusedDay: DateTime.now(), - calendarFormat: CalendarFormat.month, - weekendDays: const [], - rowHeight: 45, - availableGestures: AvailableGestures.none, - onCalendarCreated: (controller) { - _controller = controller; - }, - calendarBuilders: CalendarBuilders( - headerTitleBuilder: (context, dateTime) => CalendarHeader(dateFormat: DateFormat("MMMM, yyyy"), dateTime: dateTime), - dowBuilder: (context, dateTime) { - final day = DateFormat("EE").format(dateTime).toUpperCase(); - return Align(alignment: Alignment.center, child: day.bodyText(context).custom(color: AppColor.neutral50)); - }, - defaultBuilder: (context, dateTime, _) { - final day = DateFormat("d").format(dateTime); - return CalendarDaysCard(day: day); - }, - ), - daysOfWeekHeight: 35.toScreenHeight, - headerStyle: const HeaderStyle( - leftChevronVisible: false, - rightChevronVisible: false, - formatButtonVisible: false, - headerPadding: EdgeInsets.all(0), - ), - calendarStyle: CalendarStyle( - isTodayHighlighted: false, - defaultTextStyle: AppTextStyles.bodyText, - defaultDecoration: const BoxDecoration(shape: BoxShape.circle, color: AppColor.neutral30), - ), + Consumer( + builder: (context, snapshot, _) => snapshot.isCalendarLoading + ? const Center(child: CircularProgressIndicator()) + : TableCalendar( + firstDay: _firstDate, + lastDay: _lastDate, + focusedDay: _initialDate, + calendarFormat: CalendarFormat.month, + weekendDays: const [], + rowHeight: 45, + availableGestures: AvailableGestures.none, + calendarBuilders: CalendarBuilders( + headerTitleBuilder: (context, dateTime) => CalendarHeader(dateFormat: DateFormat("MMMM, yyyy"), dateTime: dateTime).onPress(() async { + final result = await showDatePicker( + context: context, + initialDate: _initialDate, + firstDate: _firstDate, + lastDate: _lastDate, + initialDatePickerMode: DatePickerMode.year, + ); + await snapshot.getCalenderRequests(from: DateTime(result.year, result.month), to: DateTime.now()); + if (result != null) { + _initialDate = result; + setState(() {}); + } + }), + dowBuilder: (context, dateTime) { + final day = DateFormat("EE").format(dateTime).toUpperCase(); + return Align(alignment: Alignment.center, child: day.bodyText(context).custom(color: AppColor.neutral50)); + }, + defaultBuilder: (context, dateTime, _) { + final day = DateFormat("d").format(dateTime); + return CalendarDaysCard( + day: day, + fill: snapshot.calendarRequests.requestsDetails?.firstWhere( + (element) => (element.date != null) && (DateTime.tryParse(element.date)?.difference(dateTime)?.inDays == 0), + orElse: () => null, + ) != + null, + ); + }, + ), + daysOfWeekHeight: 35.toScreenHeight, + headerStyle: const HeaderStyle( + leftChevronVisible: false, + rightChevronVisible: false, + formatButtonVisible: false, + headerPadding: EdgeInsets.all(0), + ), + calendarStyle: CalendarStyle( + isTodayHighlighted: false, + defaultTextStyle: AppTextStyles.bodyText, + defaultDecoration: const BoxDecoration(shape: BoxShape.circle, color: AppColor.neutral30), + ), + ), ), Column( mainAxisSize: MainAxisSize.min, @@ -73,13 +107,15 @@ class _MonthlyFragmentState extends State { ], ), 16.height, - Row( - children: [ - const CircleAvatar(backgroundColor: AppColor.green50, radius: 8), - 8.width, - "My Team Requests".heading6(context), - ], - ), + + /// TODO : TBD + // Row( + // children: [ + // const CircleAvatar(backgroundColor: AppColor.green50, radius: 8), + // 8.width, + // "My Team Requests".heading6(context), + // ], + // ), ], ), ], diff --git a/lib/new_views/pages/land_page/calender_fragments/weekly_fragment.dart b/lib/new_views/pages/land_page/calender_fragments/weekly_fragment.dart index cceb4358..eb23bad0 100644 --- a/lib/new_views/pages/land_page/calender_fragments/weekly_fragment.dart +++ b/lib/new_views/pages/land_page/calender_fragments/weekly_fragment.dart @@ -1,11 +1,17 @@ import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; +import 'package:provider/provider.dart'; import 'package:table_calendar/table_calendar.dart'; import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/new_views/app_style/app_color.dart'; +import '../../../../controllers/providers/api/all_requests_provider.dart'; +import '../requests/asset_item_view.dart'; +import '../requests/gas_refill_item_view.dart'; +import '../requests/ppm_item_view.dart'; +import '../requests/service_request_item_view.dart'; import 'calender_days_card.dart'; class WeeklyFragment extends StatefulWidget { @@ -18,12 +24,15 @@ class WeeklyFragment extends StatefulWidget { } class _WeeklyFragmentState extends State { - DateTime currentDateTime = DateTime.now(); - PageController _controller; + DateTime _initialDate, _firstDate, _lastDate; @override void initState() { super.initState(); + _initialDate = DateTime.now(); + _firstDate = DateTime.utc(2010, 10, 16); + _lastDate = DateTime.utc(2030, 3, 14); + Provider.of(context, listen: false).getCalenderRequests(from: DateTime.now().subtract(const Duration(days: 7)), to: DateTime.now()); } @override @@ -34,68 +43,106 @@ class _WeeklyFragmentState extends State { @override Widget build(BuildContext context) { return SingleChildScrollView( - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - TableCalendar( - firstDay: DateTime.utc(2010, 10, 16), - lastDay: DateTime.utc(2030, 3, 14), - focusedDay: DateTime.now(), - calendarFormat: CalendarFormat.week, - weekendDays: const [], - onCalendarCreated: (controller) { - _controller = controller; - }, - calendarBuilders: CalendarBuilders( - headerTitleBuilder: (context, dateTime) => Column( - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - DateFormat("EEEE, d MMMM, yyyy").format(dateTime).heading5(context), - 8.height, - const Divider().defaultStyle(context), - ], - ), - dowBuilder: (context, dateTime) { - final day = DateFormat("EE").format(dateTime).toUpperCase(); - return Align(alignment: Alignment.center, child: day.bodyText(context).custom(color: AppColor.neutral50)); - }, - defaultBuilder: (context, dateTime, _) { - final day = DateFormat("d").format(dateTime); - return CalendarDaysCard(day: day); + child: Consumer(builder: (context, snapshot, _) { + return Column( + mainAxisSize: MainAxisSize.min, + children: [ + snapshot.isCalendarLoading + ? const Center(child: CircularProgressIndicator()) + : TableCalendar( + firstDay: _firstDate, + lastDay: _lastDate, + focusedDay: _initialDate, + calendarFormat: CalendarFormat.week, + weekendDays: const [], + onCalendarCreated: (controller) {}, + calendarBuilders: CalendarBuilders( + headerTitleBuilder: (context, dateTime) => Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + DateFormat("EEEE, d MMMM, yyyy").format(dateTime).heading5(context), + 8.height, + const Divider().defaultStyle(context), + ], + ), + dowBuilder: (context, dateTime) { + final day = DateFormat("EE").format(dateTime).toUpperCase(); + return Align(alignment: Alignment.center, child: day.bodyText(context).custom(color: AppColor.neutral50)); + }, + defaultBuilder: (context, dateTime, _) { + final day = DateFormat("d").format(dateTime); + return CalendarDaysCard( + day: day, + fill: snapshot.calendarRequests.requestsDetails?.firstWhere( + (element) => (element.date != null) && (DateTime.tryParse(element.date)?.difference(dateTime)?.inDays == 0), + orElse: () => null, + ) != + null, + ); + }, + ), + daysOfWeekHeight: 35.toScreenHeight, + headerStyle: const HeaderStyle(leftChevronVisible: false, rightChevronVisible: false, formatButtonVisible: false), + calendarStyle: CalendarStyle( + isTodayHighlighted: false, + defaultTextStyle: AppTextStyles.bodyText, + defaultDecoration: const BoxDecoration(shape: BoxShape.circle, color: AppColor.neutral30), + ), + ), + if (snapshot.calendarRequests?.requestsDetails?.isNotEmpty ?? false) const Divider().defaultStyle(context), + ListView.separated( + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + itemBuilder: (cxt, index) { + final list = snapshot.calendarRequests.requestsDetails; + if (snapshot.isCalendarLoading) return const SizedBox().toRequestShimmer(cxt, snapshot.isCalendarLoading); + bool isServiceRequest = list[index].nameOfType == "ServiceRequest"; + bool isGasRefill = list[index].nameOfType == "GasRefill"; + bool isAssetTransfer = list[index].nameOfType == "AssetTransfer"; + bool isPPMs = list[index].nameOfType == "PPMs"; + + return isServiceRequest + ? ServiceRequestItemView(list[index]) + : isGasRefill + ? GasRefillItemView(list[index]) + : isPPMs + ? PpmItemView(list[index]) + : isAssetTransfer + ? AssetItemView(list[index]) + : Container( + height: 100, + width: double.infinity, + color: Colors.grey, + ); }, + separatorBuilder: (cxt, index) => 8.height, + itemCount: snapshot.isCalendarLoading ? 6 : snapshot.calendarRequests.requestsDetails.length, ), - daysOfWeekHeight: 35.toScreenHeight, - headerStyle: const HeaderStyle(leftChevronVisible: false, rightChevronVisible: false, formatButtonVisible: false), - calendarStyle: CalendarStyle( - isTodayHighlighted: false, - defaultTextStyle: AppTextStyles.bodyText, - defaultDecoration: const BoxDecoration(shape: BoxShape.circle, color: AppColor.neutral30), - ), - ), - // TableCalendar( - // headerVisible: false, - // calendarFormat: CalendarFormat.week, - // firstDay: DateTime.utc(2010, 10, 16), - // lastDay: DateTime.utc(2030, 3, 14), - // focusedDay: currentDateTime, - // currentDay: currentDateTime, - // rowHeight: 37, - // calendarStyle: CalendarStyle( - // todayDecoration: cellDecoration(), - // todayTextStyle: AppTextStyles.bodyText.copyWith(color: const Color(0xFF2B353E)), - // selectedTextStyle: AppTextStyles.bodyText.copyWith(color: const Color(0xFF2B353E)), - // rangeStartTextStyle: AppTextStyles.bodyText.copyWith(color: const Color(0xFF2B353E)), - // rangeEndTextStyle: AppTextStyles.bodyText.copyWith(color: const Color(0xFF2B353E)), - // ), - // daysOfWeekStyle: DaysOfWeekStyle( - // weekdayStyle: AppTextStyles.bodyText.copyWith(color: AppColor.neutral50), - // weekendStyle: AppTextStyles.bodyText.copyWith(color: AppColor.neutral50), - // ), - // availableGestures: AvailableGestures.none, - // ), - ], - ).toShadowContainer(context), - ); + // TableCalendar( + // headerVisible: false, + // calendarFormat: CalendarFormat.week, + // firstDay: DateTime.utc(2010, 10, 16), + // lastDay: DateTime.utc(2030, 3, 14), + // focusedDay: currentDateTime, + // currentDay: currentDateTime, + // rowHeight: 37, + // calendarStyle: CalendarStyle( + // todayDecoration: cellDecoration(), + // todayTextStyle: AppTextStyles.bodyText.copyWith(color: const Color(0xFF2B353E)), + // selectedTextStyle: AppTextStyles.bodyText.copyWith(color: const Color(0xFF2B353E)), + // rangeStartTextStyle: AppTextStyles.bodyText.copyWith(color: const Color(0xFF2B353E)), + // rangeEndTextStyle: AppTextStyles.bodyText.copyWith(color: const Color(0xFF2B353E)), + // ), + // daysOfWeekStyle: DaysOfWeekStyle( + // weekdayStyle: AppTextStyles.bodyText.copyWith(color: AppColor.neutral50), + // weekendStyle: AppTextStyles.bodyText.copyWith(color: AppColor.neutral50), + // ), + // availableGestures: AvailableGestures.none, + // ), + ], + ).toShadowContainer(context); + }), + ).paddingOnly(start: 16, end: 16); } BoxDecoration cellDecoration({Color color}) => BoxDecoration(color: color ?? Colors.transparent, shape: BoxShape.circle);