|
...
|
...
|
@@ -79,7 +79,9 @@ class TodayController extends GetMaterialController { |
|
|
|
|
|
|
|
UserStateService get userStateService => _userStateService;
|
|
|
|
|
|
|
|
late final DateTime firstSelectableDay;
|
|
|
|
Rx<DateTime> firstSelectableDay = DateTime(
|
|
|
|
DateTime.now().year, DateTime.now().month - 6, DateTime.now().day)
|
|
|
|
.obs;
|
|
|
|
late final DateTime lastSelectableDay;
|
|
|
|
final selectedDate = DateTime.now().obs;
|
|
|
|
final focusedDay = DateTime.now().obs;
|
|
...
|
...
|
@@ -136,7 +138,9 @@ class TodayController extends GetMaterialController { |
|
|
|
super.onInit();
|
|
|
|
targetFriendInfo.value = _initialFriendInfo;
|
|
|
|
final today = DateUtils.dateOnly(DateTime.now());
|
|
|
|
firstSelectableDay = DateTime(today.year - 1);
|
|
|
|
firstSelectableDay.value = DateUtils.dateOnly(
|
|
|
|
DateTime(today.year, today.month - 6, today.day),
|
|
|
|
);
|
|
|
|
lastSelectableDay = today;
|
|
|
|
selectedDate.value = today;
|
|
|
|
focusedDay.value = today;
|
|
...
|
...
|
@@ -198,13 +202,19 @@ class TodayController extends GetMaterialController { |
|
|
|
|
|
|
|
void changeDate(DateTime date, {DateTime? focused}) {
|
|
|
|
final normalizedDate = _clampDate(date);
|
|
|
|
if (!DateUtils.isSameDay(date, lastSelectableDay) &&
|
|
|
|
!_userStateService.isVip) {
|
|
|
|
toPremiumPage();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
selectedDate.value = normalizedDate;
|
|
|
|
focusedDay.value = _clampDate(focused ?? normalizedDate);
|
|
|
|
}
|
|
|
|
|
|
|
|
DateTime _clampDate(DateTime date) {
|
|
|
|
final normalizedDate = DateUtils.dateOnly(date);
|
|
|
|
if (normalizedDate.isBefore(firstSelectableDay)) return firstSelectableDay;
|
|
|
|
if (normalizedDate.isBefore(firstSelectableDay.value))
|
|
|
|
return firstSelectableDay.value;
|
|
|
|
if (normalizedDate.isAfter(lastSelectableDay)) return lastSelectableDay;
|
|
|
|
return normalizedDate;
|
|
|
|
}
|
|
...
|
...
|
@@ -406,6 +416,12 @@ class TodayController extends GetMaterialController { |
|
|
|
v2ActivityTarget.value = null;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// Future.delayed(const Duration(milliseconds: 5000), () {
|
|
|
|
// firstSelectableDay.value = DateUtils.dateOnly(
|
|
|
|
// DateTime(
|
|
|
|
// DateTime.now().year, DateTime.now().month, DateTime.now().day - 1),
|
|
|
|
// );
|
|
|
|
// });
|
|
|
|
}
|
|
|
|
|
|
|
|
void _clearRealTimeData() {
|
|
...
|
...
|
@@ -536,7 +552,7 @@ class TodayController extends GetMaterialController { |
|
|
|
final PlatformHostApi _platformHostApi = PlatformHostApi();
|
|
|
|
|
|
|
|
Future<void> getProductList() async {
|
|
|
|
final result = await _payApi.getProductList(10);
|
|
|
|
final result = await _payApi.getProductList();
|
|
|
|
if (result is! AppSuccess<PayProductListResponse>) return;
|
|
|
|
|
|
|
|
final products = (result.data.productList ?? const <PayProduct>[])
|
|
...
|
...
|
@@ -601,8 +617,12 @@ class TodayController extends GetMaterialController { |
|
|
|
@override
|
|
|
|
void didChangeAppLifecycleState(AppLifecycleState state) {
|
|
|
|
super.didChangeAppLifecycleState(state);
|
|
|
|
checkAddFriendVisible();
|
|
|
|
checkHrvAdBannerVisible();
|
|
|
|
checkHealthDataAuthCardVisible();
|
|
|
|
|
|
|
|
if (state == AppLifecycleState.resumed) {
|
|
|
|
checkAddFriendVisible();
|
|
|
|
checkHrvAdBannerVisible();
|
|
|
|
checkHealthDataAuthCardVisible();
|
|
|
|
unawaited(loadDataForDate(selectedDate.value));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} |
...
|
...
|
|