Commit 7321fbce77baded0a69c73d6529ee593cb463640

Authored by 刘宏哲
1 parent 7fdb7fbc

feat(app): 非会员只能看当日活动消耗和睡眠报告

... ... @@ -55,7 +55,11 @@ class ActivityBurnReportView extends StatelessWidget {
),
),
const SizedBox(height: 8),
_DateSwitcher(logic: logic),
_DateSwitcher(
logic: logic,
isVip: isVip,
onSubscribe: onSubscribe,
),
],
),
),
... ... @@ -144,20 +148,32 @@ class _DailyReportContent extends StatelessWidget {
}
class _DateSwitcher extends StatelessWidget {
const _DateSwitcher({required this.logic});
const _DateSwitcher({
required this.logic,
required this.isVip,
required this.onSubscribe,
});
final ActivityBurnReportLogic logic;
final bool isVip;
final ValueChanged<String> onSubscribe;
@override
Widget build(BuildContext context) {
return Obx(
() => ReportDateSwitcher(
label: logic.dateLabel,
onPrevious: logic.previousDay,
onNext: logic.nextDay,
onPrevious: isVip
? logic.previousDay
: () => onSubscribe('非会员切换日期-活动消耗'),
onNext: isVip
? logic.nextDay
: () => onSubscribe('非会员切换日期-活动消耗'),
canPrevious: logic.canGoPrevious,
canNext: logic.canGoNext,
onTapLabel: () => _showDatePicker(context),
onTapLabel: isVip
? () => _showDatePicker(context)
: () => onSubscribe('非会员切换日期-活动消耗'),
),
);
}
... ...
... ... @@ -111,7 +111,11 @@ class _SleepReportViewState extends State<SleepReportView> {
),
),
const SizedBox(height: 8),
_DateSwitcher(logic: widget.logic),
_DateSwitcher(
logic: widget.logic,
isVip: widget.isVip,
onSubscribe: widget.onSubscribe,
),
],
),
),
... ... @@ -208,20 +212,32 @@ class _DailyReportContent extends StatelessWidget {
}
class _DateSwitcher extends StatelessWidget {
const _DateSwitcher({required this.logic});
const _DateSwitcher({
required this.logic,
required this.isVip,
required this.onSubscribe,
});
final SleepReportLogic logic;
final bool isVip;
final ValueChanged<String> onSubscribe;
@override
Widget build(BuildContext context) {
return Obx(
() => ReportDateSwitcher(
label: logic.dateLabel,
onPrevious: logic.previousDay,
onNext: logic.nextDay,
onPrevious: isVip
? logic.previousDay
: () => onSubscribe('非会员切换日期-睡眠报告'),
onNext: isVip
? logic.nextDay
: () => onSubscribe('非会员切换日期-睡眠报告'),
canPrevious: logic.canGoPrevious,
canNext: logic.canGoNext,
onTapLabel: () => _showDatePicker(context),
onTapLabel: isVip
? () => _showDatePicker(context)
: () => onSubscribe('非会员切换日期-睡眠报告'),
),
);
}
... ...