premium inline

This commit is contained in:
55nknown 2023-01-21 16:39:30 +01:00
parent 10730c15c9
commit b387438e79
9 changed files with 17 additions and 25 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

View File

@ -12,7 +12,6 @@ import 'package:filcnaplo/ui/filter/widgets/events.dart' as event_filter;
import 'package:filcnaplo/ui/filter/widgets/lessons.dart' as lesson_filter;
import 'package:filcnaplo/ui/filter/widgets/update.dart' as update_filter;
import 'package:filcnaplo/ui/filter/widgets/missed_exams.dart' as missed_exam_filter;
import 'package:filcnaplo/ui/filter/widgets/premium.dart' as premium_filter;
import 'package:filcnaplo_kreta_api/providers/absence_provider.dart';
import 'package:filcnaplo_kreta_api/providers/event_provider.dart';
import 'package:filcnaplo_kreta_api/providers/exam_provider.dart';
@ -22,6 +21,7 @@ import 'package:filcnaplo_kreta_api/providers/message_provider.dart';
import 'package:filcnaplo_kreta_api/providers/note_provider.dart';
import 'package:filcnaplo_kreta_api/providers/timetable_provider.dart';
import 'package:filcnaplo_premium/providers/premium_provider.dart';
import 'package:filcnaplo_premium/ui/mobile/premium/premium_inline.dart';
import 'package:filcnaplo_mobile_ui/common/panel/panel.dart';
import 'package:flutter/material.dart';
import 'package:implicitly_animated_reorderable_list_2/transitions.dart';
@ -131,22 +131,30 @@ Future<List<DateWidget>> getFilterWidgets(FilterType activeData, {bool absencesN
case FilterType.missedExams:
items = missed_exam_filter.getWidgets(timetableProvider.lessons);
break;
case FilterType.premium:
final now = DateTime.now();
final isWeekend = now.weekday == DateTime.saturday || now.weekday == DateTime.sunday;
items = [if (!premiumProvider.hasPremium && isWeekend) premium_filter.getWidget()];
break;
}
return items;
}
Widget filterItemBuilder(BuildContext context, Animation<double> animation, Widget item, int index) {
if (item.key == const Key("\$premium")) {
return Provider.of<PremiumProvider>(context, listen: false).hasPremium || DateTime.now().weekday <= 5
? const SizedBox()
: const Padding(
padding: EdgeInsets.only(bottom: 24.0),
child: PremiumInline(features: [
PremiumInlineFeature.nickname,
PremiumInlineFeature.theme,
PremiumInlineFeature.widget,
]),
);
}
final wrappedItem = SizeFadeTransition(
curve: Curves.easeInOutCubic,
animation: animation,
child: item,
);
return item is Panel
// Re-add & animate shadow
? AnimatedBuilder(

View File

@ -1,16 +0,0 @@
import 'package:filcnaplo/ui/date_widget.dart';
import 'package:filcnaplo_premium/ui/mobile/premium/premium_banner_button.dart';
import 'package:flutter/widgets.dart';
DateWidget getWidget() {
return DateWidget(
date: DateTime.now().add(const Duration(minutes: 1)),
widget: Padding(
padding: const EdgeInsets.symmetric(horizontal: 6.0),
child: ClipRRect(
borderRadius: BorderRadius.circular(14.0),
child: const PremiumBannerButton(),
),
),
);
}

@ -1 +1 @@
Subproject commit 8eaccb0ed5c697bedb06c5e9e3a68b1ef06f0cfc
Subproject commit 0d46573b57569867b87dc90987877566e9618575

@ -1 +1 @@
Subproject commit 6c336ce7b3d54eb079731a301f12c75703d3c73a
Subproject commit cec1451e4e8ab668a60a35386e75340be0e59459