diff --git a/filcnaplo/assets/images/premium_goal_inline_showcase.png b/filcnaplo/assets/images/premium_goal_inline_showcase.png new file mode 100644 index 0000000..1de62a0 Binary files /dev/null and b/filcnaplo/assets/images/premium_goal_inline_showcase.png differ diff --git a/filcnaplo/assets/images/premium_nickname_inline_showcase.png b/filcnaplo/assets/images/premium_nickname_inline_showcase.png new file mode 100644 index 0000000..709cff7 Binary files /dev/null and b/filcnaplo/assets/images/premium_nickname_inline_showcase.png differ diff --git a/filcnaplo/assets/images/premium_stats_inline_showcase.png b/filcnaplo/assets/images/premium_stats_inline_showcase.png new file mode 100644 index 0000000..bf1f722 Binary files /dev/null and b/filcnaplo/assets/images/premium_stats_inline_showcase.png differ diff --git a/filcnaplo/assets/images/premium_theme_inline_showcase.png b/filcnaplo/assets/images/premium_theme_inline_showcase.png new file mode 100644 index 0000000..da743f6 Binary files /dev/null and b/filcnaplo/assets/images/premium_theme_inline_showcase.png differ diff --git a/filcnaplo/assets/images/premium_widget_inline_showcase.png b/filcnaplo/assets/images/premium_widget_inline_showcase.png new file mode 100644 index 0000000..9816d0d Binary files /dev/null and b/filcnaplo/assets/images/premium_widget_inline_showcase.png differ diff --git a/filcnaplo/lib/ui/filter/widgets.dart b/filcnaplo/lib/ui/filter/widgets.dart index 0ce36be..1044ae7 100644 --- a/filcnaplo/lib/ui/filter/widgets.dart +++ b/filcnaplo/lib/ui/filter/widgets.dart @@ -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> 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 animation, Widget item, int index) { + if (item.key == const Key("\$premium")) { + return Provider.of(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( diff --git a/filcnaplo/lib/ui/filter/widgets/premium.dart b/filcnaplo/lib/ui/filter/widgets/premium.dart deleted file mode 100644 index b1e5336..0000000 --- a/filcnaplo/lib/ui/filter/widgets/premium.dart +++ /dev/null @@ -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(), - ), - ), - ); -} diff --git a/filcnaplo_mobile_ui b/filcnaplo_mobile_ui index 8eaccb0..0d46573 160000 --- a/filcnaplo_mobile_ui +++ b/filcnaplo_mobile_ui @@ -1 +1 @@ -Subproject commit 8eaccb0ed5c697bedb06c5e9e3a68b1ef06f0cfc +Subproject commit 0d46573b57569867b87dc90987877566e9618575 diff --git a/filcnaplo_premium b/filcnaplo_premium index 6c336ce..cec1451 160000 --- a/filcnaplo_premium +++ b/filcnaplo_premium @@ -1 +1 @@ -Subproject commit 6c336ce7b3d54eb079731a301f12c75703d3c73a +Subproject commit cec1451e4e8ab668a60a35386e75340be0e59459