rename other shit

This commit is contained in:
Kima 2024-04-07 20:06:56 +02:00
parent 23563bc4f9
commit d5127e8a56
28 changed files with 76 additions and 93 deletions

8
.gitignore vendored
View File

@ -27,10 +27,10 @@ refilc_mobile_ui/.flutter-plugins-dependencies
refilc_mobile_ui/pubspec.lock refilc_mobile_ui/pubspec.lock
refilc_mobile_ui/.dart_tool/ refilc_mobile_ui/.dart_tool/
filcnaplo_premium/.flutter-plugins # filcnaplo_premium/.flutter-plugins
filcnaplo_premium/.flutter-plugins-dependencies # filcnaplo_premium/.flutter-plugins-dependencies
filcnaplo_premium/pubspec.lock # filcnaplo_premium/pubspec.lock
filcnaplo_premium/.dart_tool/ # filcnaplo_premium/.dart_tool/
.vscode .vscode
.github .github

View File

@ -1,13 +0,0 @@
What's new:
- design tweak
- new premium ui
- premium fix
- rounding fix
- graph percentage fix
- fail warning
- Widget
- fix sent messages
- fix ios live activities
- Hibajavítások 🐛
- **Megérkezett a Filc Premium!**

View File

@ -57,7 +57,7 @@ import 'package:refilc/api/providers/user_provider.dart';
import 'package:refilc/api/providers/update_provider.dart'; import 'package:refilc/api/providers/update_provider.dart';
import 'package:refilc_mobile_ui/pages/grades/calculator/grade_calculator_provider.dart'; import 'package:refilc_mobile_ui/pages/grades/calculator/grade_calculator_provider.dart';
import 'package:flutter_displaymode/flutter_displaymode.dart'; import 'package:flutter_displaymode/flutter_displaymode.dart';
import 'package:refilc_plus/providers/premium_provider.dart'; import 'package:refilc_plus/providers/plus_provider.dart';
class App extends StatelessWidget { class App extends StatelessWidget {
final SettingsProvider settings; final SettingsProvider settings;
@ -83,7 +83,7 @@ class App extends StatelessWidget {
final kreta = KretaClient(user: user, settings: settings, status: status); final kreta = KretaClient(user: user, settings: settings, status: status);
final timetable = final timetable =
TimetableProvider(user: user, database: database, kreta: kreta); TimetableProvider(user: user, database: database, kreta: kreta);
final premium = PremiumProvider(settings: settings); final premium = PlusProvider(settings: settings);
WidgetsBinding.instance.addPostFrameCallback((_) { WidgetsBinding.instance.addPostFrameCallback((_) {
FilcAPI.getConfig(settings).then((Config? config) { FilcAPI.getConfig(settings).then((Config? config) {
@ -95,7 +95,7 @@ class App extends StatelessWidget {
return MultiProvider( return MultiProvider(
providers: [ providers: [
// refilc providers // refilc providers
ChangeNotifierProvider<PremiumProvider>(create: (_) => premium), ChangeNotifierProvider<PlusProvider>(create: (_) => premium),
ChangeNotifierProvider<SettingsProvider>(create: (_) => settings), ChangeNotifierProvider<SettingsProvider>(create: (_) => settings),
ChangeNotifierProvider<UserProvider>(create: (_) => user), ChangeNotifierProvider<UserProvider>(create: (_) => user),
ChangeNotifierProvider<StatusProvider>(create: (_) => status), ChangeNotifierProvider<StatusProvider>(create: (_) => status),

View File

@ -28,7 +28,7 @@ import 'package:refilc_kreta_api/providers/timetable_provider.dart';
import 'package:refilc_mobile_ui/common/widgets/cretification/certification_card.dart'; import 'package:refilc_mobile_ui/common/widgets/cretification/certification_card.dart';
import 'package:refilc_mobile_ui/common/widgets/grade/new_grades.dart'; import 'package:refilc_mobile_ui/common/widgets/grade/new_grades.dart';
import 'package:refilc_mobile_ui/common/widgets/note/note_viewable.dart'; import 'package:refilc_mobile_ui/common/widgets/note/note_viewable.dart';
import 'package:refilc_plus/providers/premium_provider.dart'; import 'package:refilc_plus/providers/plus_provider.dart';
import 'package:refilc_plus/ui/mobile/plus/premium_inline.dart'; import 'package:refilc_plus/ui/mobile/plus/premium_inline.dart';
import 'package:refilc_mobile_ui/common/panel/panel.dart'; import 'package:refilc_mobile_ui/common/panel/panel.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -195,7 +195,7 @@ Widget filterItemBuilder(
bool isBeforeSeparated = false, bool isBeforeSeparated = false,
}) { }) {
if (item.key == const Key("\$premium")) { if (item.key == const Key("\$premium")) {
return Provider.of<PremiumProvider>(context, listen: false).hasPremium || return Provider.of<PlusProvider>(context, listen: false).hasPremium ||
DateTime.now().weekday <= 5 DateTime.now().weekday <= 5
? const SizedBox() ? const SizedBox()
: const Padding( : const Padding(

View File

@ -29,7 +29,7 @@ import 'package:refilc_mobile_ui/screens/settings/accounts/account_view.dart';
import 'package:refilc_mobile_ui/screens/settings/debug/subject_icon_gallery.dart'; import 'package:refilc_mobile_ui/screens/settings/debug/subject_icon_gallery.dart';
import 'package:refilc_mobile_ui/screens/settings/privacy_view.dart'; import 'package:refilc_mobile_ui/screens/settings/privacy_view.dart';
import 'package:refilc_mobile_ui/screens/settings/settings_helper.dart'; import 'package:refilc_mobile_ui/screens/settings/settings_helper.dart';
import 'package:refilc_plus/providers/premium_provider.dart'; import 'package:refilc_plus/providers/plus_provider.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -254,7 +254,7 @@ class SettingsScreenState extends State<SettingsScreen>
// padding: EdgeInsets.symmetric(vertical: 12.0, horizontal: 24.0), // padding: EdgeInsets.symmetric(vertical: 12.0, horizontal: 24.0),
// child: PremiumBannerButton(), // child: PremiumBannerButton(),
// ), // ),
if (!Provider.of<PremiumProvider>(context).hasPremium) if (!Provider.of<PlusProvider>(context).hasPremium)
const ClipRect( const ClipRect(
child: Padding( child: Padding(
padding: EdgeInsets.symmetric(vertical: 12.0), padding: EdgeInsets.symmetric(vertical: 12.0),
@ -883,14 +883,14 @@ class SettingsScreenState extends State<SettingsScreen>
listen: false) listen: false)
.accessToken!)), .accessToken!)),
), ),
// if (Provider.of<PremiumProvider>(context, // if (Provider.of<PlusProvider>(context,
// listen: false) // listen: false)
// .hasPremium) // .hasPremium)
// PanelButton( // PanelButton(
// leading: const Icon(FeatherIcons.key), // leading: const Icon(FeatherIcons.key),
// title: const Text("Remove Premium"), // title: const Text("Remove Premium"),
// onPressed: () { // onPressed: () {
// Provider.of<PremiumProvider>( // Provider.of<PlusProvider>(
// context, // context,
// listen: false) // listen: false)
// .activate(removePremium: true); // .activate(removePremium: true);

View File

@ -10,7 +10,7 @@ import 'package:refilc/ui/widgets/lesson/lesson_tile.dart';
import 'package:refilc_mobile_ui/common/widgets/lesson/lesson_view.dart'; import 'package:refilc_mobile_ui/common/widgets/lesson/lesson_view.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:refilc_plus/models/premium_scopes.dart'; import 'package:refilc_plus/models/premium_scopes.dart';
import 'package:refilc_plus/providers/premium_provider.dart'; import 'package:refilc_plus/providers/plus_provider.dart';
import 'package:refilc_plus/ui/mobile/plus/upsell.dart'; import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
import 'lesson_view.i18n.dart'; import 'lesson_view.i18n.dart';
@ -64,7 +64,7 @@ class LessonViewableState extends State<LessonViewable> {
onPressed: () { onPressed: () {
Navigator.of(context, rootNavigator: true).pop(); Navigator.of(context, rootNavigator: true).pop();
if (!Provider.of<PremiumProvider>(context, listen: false) if (!Provider.of<PlusProvider>(context, listen: false)
.hasScope(PremiumScopes.timetableNotes)) { .hasScope(PremiumScopes.timetableNotes)) {
PlusLockedFeaturePopup.show( PlusLockedFeaturePopup.show(
context: context, feature: PremiumFeature.timetableNotes); context: context, feature: PremiumFeature.timetableNotes);

View File

@ -1,6 +1,6 @@
import 'package:refilc/theme/colors/colors.dart'; import 'package:refilc/theme/colors/colors.dart';
// import 'package:refilc_plus/models/premium_scopes.dart'; // import 'package:refilc_plus/models/premium_scopes.dart';
// import 'package:refilc_plus/providers/premium_provider.dart'; // import 'package:refilc_plus/providers/plus_provider.dart';
// import 'package:refilc_plus/ui/mobile/plus/upsell.dart'; // import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:dropdown_button2/dropdown_button2.dart'; import 'package:dropdown_button2/dropdown_button2.dart';
@ -47,7 +47,7 @@ class AverageSelectorState extends State<AverageSelector> {
return DropdownButton2<int>( return DropdownButton2<int>(
items: dropdownItems, items: dropdownItems,
onChanged: (int? value) { onChanged: (int? value) {
// if (Provider.of<PremiumProvider>(context, listen: false) // if (Provider.of<PlusProvider>(context, listen: false)
// .hasScope(PremiumScopes.gradeStats)) { // .hasScope(PremiumScopes.gradeStats)) {
if (widget.onChanged != null) { if (widget.onChanged != null) {
setState(() { setState(() {

View File

@ -27,7 +27,7 @@ import 'package:refilc_mobile_ui/pages/grades/graph.dart';
import 'package:refilc_mobile_ui/pages/grades/subject_grades_container.dart'; import 'package:refilc_mobile_ui/pages/grades/subject_grades_container.dart';
import 'package:refilc_plus/ui/mobile/goal_planner/goal_planner_screen.dart'; import 'package:refilc_plus/ui/mobile/goal_planner/goal_planner_screen.dart';
// import 'package:refilc_plus/models/premium_scopes.dart'; // import 'package:refilc_plus/models/premium_scopes.dart';
// import 'package:refilc_plus/providers/premium_provider.dart'; // import 'package:refilc_plus/providers/plus_provider.dart';
import 'package:refilc_plus/ui/mobile/goal_planner/goal_state_screen.dart'; import 'package:refilc_plus/ui/mobile/goal_planner/goal_state_screen.dart';
// import 'package:refilc_plus/ui/mobile/plus/upsell.dart'; // import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
@ -299,7 +299,7 @@ class _GradeSubjectViewState extends State<GradeSubjectView> {
heroTag: "btn_goal_planner", heroTag: "btn_goal_planner",
backgroundColor: Theme.of(context).colorScheme.secondary, backgroundColor: Theme.of(context).colorScheme.secondary,
onPressed: () { onPressed: () {
// if (!Provider.of<PremiumProvider>(context, listen: false) // if (!Provider.of<PlusProvider>(context, listen: false)
// .hasScope(PremiumScopes.goalPlanner)) { // .hasScope(PremiumScopes.goalPlanner)) {
// PlusLockedFeaturePopup.show( // PlusLockedFeaturePopup.show(
// context: context, feature: PremiumFeature.goalplanner); // context: context, feature: PremiumFeature.goalplanner);

View File

@ -33,7 +33,7 @@ import 'package:refilc_mobile_ui/pages/grades/grades_count.dart';
import 'package:refilc_mobile_ui/pages/grades/graph.dart'; import 'package:refilc_mobile_ui/pages/grades/graph.dart';
import 'package:refilc_mobile_ui/pages/grades/grade_subject_view.dart'; import 'package:refilc_mobile_ui/pages/grades/grade_subject_view.dart';
import 'package:refilc_plus/models/premium_scopes.dart'; import 'package:refilc_plus/models/premium_scopes.dart';
import 'package:refilc_plus/providers/premium_provider.dart'; import 'package:refilc_plus/providers/plus_provider.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_feather_icons/flutter_feather_icons.dart'; import 'package:flutter_feather_icons/flutter_feather_icons.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@ -385,7 +385,7 @@ class GradesPageState extends State<GradesPage> {
)); ));
} }
tiles.add(Provider.of<PremiumProvider>(context, listen: false).hasPremium tiles.add(Provider.of<PlusProvider>(context, listen: false).hasPremium
? const SizedBox() ? const SizedBox()
: const Padding( : const Padding(
padding: EdgeInsets.only(top: 24.0), padding: EdgeInsets.only(top: 24.0),
@ -410,7 +410,7 @@ class GradesPageState extends State<GradesPage> {
homeworkProvider = Provider.of<HomeworkProvider>(context); homeworkProvider = Provider.of<HomeworkProvider>(context);
examProvider = Provider.of<ExamProvider>(context); examProvider = Provider.of<ExamProvider>(context);
context.watch<PremiumProvider>(); context.watch<PlusProvider>();
List<String> nameParts = user.displayName?.split(" ") ?? ["?"]; List<String> nameParts = user.displayName?.split(" ") ?? ["?"];
firstName = nameParts.length > 1 ? nameParts[1] : nameParts[0]; firstName = nameParts.length > 1 ? nameParts[1] : nameParts[0];
@ -519,8 +519,7 @@ class GradesPageState extends State<GradesPage> {
child: IconButton( child: IconButton(
splashRadius: 24.0, splashRadius: 24.0,
onPressed: () { onPressed: () {
if (!Provider.of<PremiumProvider>(context, if (!Provider.of<PlusProvider>(context, listen: false)
listen: false)
.hasScope(PremiumScopes.totalGradeCalculator)) { .hasScope(PremiumScopes.totalGradeCalculator)) {
PlusLockedFeaturePopup.show( PlusLockedFeaturePopup.show(
context: context, context: context,

View File

@ -10,7 +10,7 @@ import 'package:refilc/utils/format.dart';
import 'package:i18n_extension/i18n_extension.dart'; import 'package:i18n_extension/i18n_extension.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:refilc_mobile_ui/pages/messages/messages_page.dart'; import 'package:refilc_mobile_ui/pages/messages/messages_page.dart';
import 'package:refilc_plus/providers/premium_provider.dart'; import 'package:refilc_plus/providers/plus_provider.dart';
import 'package:animated_list_plus/animated_list_plus.dart'; import 'package:animated_list_plus/animated_list_plus.dart';
import 'package:refilc/api/providers/update_provider.dart'; import 'package:refilc/api/providers/update_provider.dart';
import 'package:refilc/api/providers/sync.dart'; import 'package:refilc/api/providers/sync.dart';
@ -176,7 +176,7 @@ class HomePageState extends State<HomePage> with TickerProviderStateMixin {
updateProvider = Provider.of<UpdateProvider>(context); updateProvider = Provider.of<UpdateProvider>(context);
_liveCard = Provider.of<LiveCardProvider>(context); _liveCard = Provider.of<LiveCardProvider>(context);
gradeProvider = Provider.of<GradeProvider>(context); gradeProvider = Provider.of<GradeProvider>(context);
context.watch<PremiumProvider>(); context.watch<PlusProvider>();
_liveCardAnimation.animateTo(_liveCard.show ? 1.0 : 0.0); _liveCardAnimation.animateTo(_liveCard.show ? 1.0 : 0.0);

View File

@ -26,7 +26,7 @@ import 'package:refilc_mobile_ui/screens/notes/add_note_screen.dart';
import 'package:refilc_mobile_ui/screens/notes/note_view_screen.dart'; import 'package:refilc_mobile_ui/screens/notes/note_view_screen.dart';
import 'package:refilc_mobile_ui/screens/notes/self_note_tile.dart'; import 'package:refilc_mobile_ui/screens/notes/self_note_tile.dart';
import 'package:refilc_plus/models/premium_scopes.dart'; import 'package:refilc_plus/models/premium_scopes.dart';
import 'package:refilc_plus/providers/premium_provider.dart'; import 'package:refilc_plus/providers/plus_provider.dart';
import 'package:refilc_plus/ui/mobile/plus/premium_inline.dart'; import 'package:refilc_plus/ui/mobile/plus/premium_inline.dart';
import 'package:refilc_plus/ui/mobile/plus/upsell.dart'; import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
import 'notes_page.i18n.dart'; import 'notes_page.i18n.dart';
@ -76,7 +76,7 @@ class NotesPageState extends State<NotesPage> with TickerProviderStateMixin {
List<Widget> toDoTiles = []; List<Widget> toDoTiles = [];
if (hw.isNotEmpty && if (hw.isNotEmpty &&
!Provider.of<PremiumProvider>(context, listen: false) !Provider.of<PlusProvider>(context, listen: false)
.hasScope(PremiumScopes.unlimitedSelfNotes)) { .hasScope(PremiumScopes.unlimitedSelfNotes)) {
toDoTiles.addAll(hw.map((e) => TickTile( toDoTiles.addAll(hw.map((e) => TickTile(
padding: EdgeInsets.zero, padding: EdgeInsets.zero,
@ -154,7 +154,7 @@ class NotesPageState extends State<NotesPage> with TickerProviderStateMixin {
); );
} }
tiles.add(Provider.of<PremiumProvider>(context, listen: false).hasPremium tiles.add(Provider.of<PlusProvider>(context, listen: false).hasPremium
? const SizedBox() ? const SizedBox()
: const Padding( : const Padding(
padding: EdgeInsets.only(top: 24.0), padding: EdgeInsets.only(top: 24.0),
@ -219,8 +219,7 @@ class NotesPageState extends State<NotesPage> with TickerProviderStateMixin {
GestureDetector( GestureDetector(
onTap: () async { onTap: () async {
// handle tap // handle tap
if (!Provider.of<PremiumProvider>(context, if (!Provider.of<PlusProvider>(context, listen: false)
listen: false)
.hasScope(PremiumScopes.unlimitedSelfNotes) && .hasScope(PremiumScopes.unlimitedSelfNotes) &&
noteTiles.length > 10) { noteTiles.length > 10) {
return PlusLockedFeaturePopup.show( return PlusLockedFeaturePopup.show(

View File

@ -31,7 +31,7 @@ import 'package:flutter_feather_icons/flutter_feather_icons.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:refilc_plus/models/premium_scopes.dart'; import 'package:refilc_plus/models/premium_scopes.dart';
import 'package:refilc_plus/providers/premium_provider.dart'; import 'package:refilc_plus/providers/plus_provider.dart';
import 'timetable_page.i18n.dart'; import 'timetable_page.i18n.dart';
// todo: "fix" overflow (priority: -1) // todo: "fix" overflow (priority: -1)
@ -155,8 +155,8 @@ class TimetablePageState extends State<TimetablePage>
// push timetable to calendar // push timetable to calendar
if (mounted) { if (mounted) {
if (Provider.of<PremiumProvider>(context, listen: false).hasPremium && if (Provider.of<PlusProvider>(context, listen: false).hasPremium &&
Provider.of<PremiumProvider>(context, listen: false) Provider.of<PlusProvider>(context, listen: false)
.hasScope(PremiumScopes.calendarSync)) { .hasScope(PremiumScopes.calendarSync)) {
Provider.of<ThirdPartyProvider>(context, listen: false) Provider.of<ThirdPartyProvider>(context, listen: false)
.pushTimetable(context, _controller); .pushTimetable(context, _controller);

View File

@ -1,7 +1,7 @@
import 'package:refilc/icons/filc_icons.dart'; import 'package:refilc/icons/filc_icons.dart';
import 'package:refilc_mobile_ui/plus/plus_screen.dart'; import 'package:refilc_mobile_ui/plus/plus_screen.dart';
import 'package:refilc_plus/models/premium_scopes.dart'; import 'package:refilc_plus/models/premium_scopes.dart';
import 'package:refilc_plus/providers/premium_provider.dart'; import 'package:refilc_plus/providers/plus_provider.dart';
import 'package:refilc_plus/ui/mobile/plus/upsell.dart'; import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart'; import 'package:flutter_svg/svg.dart';
@ -44,7 +44,7 @@ class ActiveSponsorCard extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final premium = Provider.of<PremiumProvider>(context, listen: false); final premium = Provider.of<PlusProvider>(context, listen: false);
final level = estimateLevel(premium.scopes); final level = estimateLevel(premium.scopes);
if (level == null) { if (level == null) {

View File

@ -1,6 +1,6 @@
// import 'package:refilc/api/client.dart'; // import 'package:refilc/api/client.dart';
// import 'package:refilc/theme/colors/colors.dart'; // import 'package:refilc/theme/colors/colors.dart';
import 'package:refilc_plus/providers/premium_provider.dart'; import 'package:refilc_plus/providers/plus_provider.dart';
// import 'package:refilc_plus/ui/mobile/plus/activation_view/activation_view.dart'; // import 'package:refilc_plus/ui/mobile/plus/activation_view/activation_view.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_feather_icons/flutter_feather_icons.dart'; import 'package:flutter_feather_icons/flutter_feather_icons.dart';
@ -12,7 +12,7 @@ class GithubLoginButton extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final premium = Provider.of<PremiumProvider>(context); final premium = Provider.of<PlusProvider>(context);
return Card( return Card(
margin: EdgeInsets.zero, margin: EdgeInsets.zero,

View File

@ -1,5 +1,5 @@
import 'package:refilc/theme/colors/colors.dart'; import 'package:refilc/theme/colors/colors.dart';
import 'package:refilc_plus/providers/premium_provider.dart'; import 'package:refilc_plus/providers/plus_provider.dart';
// import 'package:refilc_plus/ui/mobile/plus/activation_view/activation_view.dart'; // import 'package:refilc_plus/ui/mobile/plus/activation_view/activation_view.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_feather_icons/flutter_feather_icons.dart'; import 'package:flutter_feather_icons/flutter_feather_icons.dart';
@ -11,7 +11,7 @@ class GithubConnectButton extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final premium = Provider.of<PremiumProvider>(context); final premium = Provider.of<PlusProvider>(context);
return Card( return Card(
margin: EdgeInsets.zero, margin: EdgeInsets.zero,

View File

@ -1,6 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:refilc_plus/providers/premium_provider.dart'; import 'package:refilc_plus/providers/plus_provider.dart';
import 'package:refilc_plus/ui/mobile/plus/activation_view/activation_view.dart'; import 'package:refilc_plus/ui/mobile/plus/activation_view/activation_view.dart';
import 'package:refilc_mobile_ui/plus/plus_screen.i18n.dart'; import 'package:refilc_mobile_ui/plus/plus_screen.i18n.dart';
import 'package:url_launcher/url_launcher.dart'; import 'package:url_launcher/url_launcher.dart';
@ -35,7 +35,7 @@ class PlusPlanCard extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return GestureDetector( return GestureDetector(
onTap: () { onTap: () {
if (Provider.of<PremiumProvider>(context, listen: false).hasPremium) { if (Provider.of<PlusProvider>(context, listen: false).hasPremium) {
if (!active) { if (!active) {
launchUrl( launchUrl(
Uri.parse( Uri.parse(

View File

@ -4,7 +4,7 @@ import 'package:refilc_mobile_ui/plus/components/plan_card.dart';
import 'package:flutter_feather_icons/flutter_feather_icons.dart'; import 'package:flutter_feather_icons/flutter_feather_icons.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:refilc_plus/providers/premium_provider.dart'; import 'package:refilc_plus/providers/plus_provider.dart';
import 'package:refilc_plus/ui/mobile/plus/upsell.dart'; import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
import 'components/active_sponsor_card.dart'; import 'components/active_sponsor_card.dart';
@ -202,7 +202,7 @@ class PlusScreenState extends State<PlusScreen> {
), ),
PlusPlanCard( PlusPlanCard(
active: ActiveSponsorCard.estimateLevel( active: ActiveSponsorCard.estimateLevel(
context.watch<PremiumProvider>().scopes) == context.watch<PlusProvider>().scopes) ==
PremiumFeatureLevel.cap, PremiumFeatureLevel.cap,
iconPath: 'assets/images/plus_tier_cap.png', iconPath: 'assets/images/plus_tier_cap.png',
title: 'reFilc+', title: 'reFilc+',
@ -229,7 +229,7 @@ class PlusScreenState extends State<PlusScreen> {
), ),
PlusPlanCard( PlusPlanCard(
active: ActiveSponsorCard.estimateLevel( active: ActiveSponsorCard.estimateLevel(
context.watch<PremiumProvider>().scopes) == context.watch<PlusProvider>().scopes) ==
PremiumFeatureLevel.ink, PremiumFeatureLevel.ink,
iconPath: 'assets/images/plus_tier_ink.png', iconPath: 'assets/images/plus_tier_ink.png',
title: 'reFilc+ Gold', title: 'reFilc+ Gold',
@ -261,7 +261,7 @@ class PlusScreenState extends State<PlusScreen> {
// ), // ),
// PlusPlanCard( // PlusPlanCard(
// active: ActiveSponsorCard.estimateLevel( // active: ActiveSponsorCard.estimateLevel(
// context.watch<PremiumProvider>().scopes) == // context.watch<PlusProvider>().scopes) ==
// PremiumFeatureLevel.sponge, // PremiumFeatureLevel.sponge,
// iconPath: 'assets/images/plus_tier_sponge.png', // iconPath: 'assets/images/plus_tier_sponge.png',
// title: 'Szivacs', // title: 'Szivacs',

View File

@ -16,7 +16,7 @@ import 'package:refilc_mobile_ui/screens/notes/note_view_screen.dart';
import 'package:refilc_mobile_ui/screens/notes/notes_screen.i18n.dart'; import 'package:refilc_mobile_ui/screens/notes/notes_screen.i18n.dart';
import 'package:refilc_mobile_ui/screens/notes/self_note_tile.dart'; import 'package:refilc_mobile_ui/screens/notes/self_note_tile.dart';
import 'package:refilc_plus/models/premium_scopes.dart'; import 'package:refilc_plus/models/premium_scopes.dart';
import 'package:refilc_plus/providers/premium_provider.dart'; import 'package:refilc_plus/providers/plus_provider.dart';
import 'package:refilc_plus/ui/mobile/plus/premium_inline.dart'; import 'package:refilc_plus/ui/mobile/plus/premium_inline.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -61,7 +61,7 @@ class NotesScreenState extends State<NotesScreen> {
List<Widget> toDoTiles = []; List<Widget> toDoTiles = [];
if (hw.isNotEmpty && if (hw.isNotEmpty &&
Provider.of<PremiumProvider>(context, listen: false) Provider.of<PlusProvider>(context, listen: false)
.hasScope(PremiumScopes.unlimitedSelfNotes)) { .hasScope(PremiumScopes.unlimitedSelfNotes)) {
toDoTiles.addAll(hw.map((e) => TickTile( toDoTiles.addAll(hw.map((e) => TickTile(
padding: EdgeInsets.zero, padding: EdgeInsets.zero,
@ -135,7 +135,7 @@ class NotesScreenState extends State<NotesScreen> {
); );
} }
tiles.add(Provider.of<PremiumProvider>(context, listen: false).hasPremium tiles.add(Provider.of<PlusProvider>(context, listen: false).hasPremium
? const SizedBox() ? const SizedBox()
: const Padding( : const Padding(
padding: EdgeInsets.only(top: 24.0), padding: EdgeInsets.only(top: 24.0),
@ -213,7 +213,7 @@ class NotesScreenState extends State<NotesScreen> {
child: GestureDetector( child: GestureDetector(
onTap: () { onTap: () {
// handle tap // handle tap
if (!Provider.of<PremiumProvider>(context, listen: false) if (!Provider.of<PlusProvider>(context, listen: false)
.hasScope(PremiumScopes.unlimitedSelfNotes) && .hasScope(PremiumScopes.unlimitedSelfNotes) &&
noteTiles.length > 10) { noteTiles.length > 10) {
return PlusLockedFeaturePopup.show( return PlusLockedFeaturePopup.show(

View File

@ -6,7 +6,7 @@ import 'package:refilc/theme/colors/colors.dart';
// import 'package:refilc_kreta_api/models/teacher.dart'; // import 'package:refilc_kreta_api/models/teacher.dart';
import 'package:refilc_mobile_ui/common/panel/panel_button.dart'; import 'package:refilc_mobile_ui/common/panel/panel_button.dart';
// import 'package:refilc_plus/models/premium_scopes.dart'; // import 'package:refilc_plus/models/premium_scopes.dart';
// import 'package:refilc_plus/providers/premium_provider.dart'; // import 'package:refilc_plus/providers/plus_provider.dart';
// import 'package:refilc_plus/ui/mobile/plus/upsell.dart'; // import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';

View File

@ -14,7 +14,7 @@ import 'package:refilc_kreta_api/providers/timetable_provider.dart';
import 'package:refilc_mobile_ui/common/panel/panel.dart'; import 'package:refilc_mobile_ui/common/panel/panel.dart';
import 'package:refilc_mobile_ui/common/panel/panel_button.dart'; import 'package:refilc_mobile_ui/common/panel/panel_button.dart';
// import 'package:refilc_plus/models/premium_scopes.dart'; // import 'package:refilc_plus/models/premium_scopes.dart';
// import 'package:refilc_plus/providers/premium_provider.dart'; // import 'package:refilc_plus/providers/plus_provider.dart';
// import 'package:refilc_plus/ui/mobile/plus/upsell.dart'; // import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -33,7 +33,7 @@ class MenuRenamedSubjects extends StatelessWidget {
return PanelButton( return PanelButton(
padding: const EdgeInsets.only(left: 14.0), padding: const EdgeInsets.only(left: 14.0),
onPressed: () { onPressed: () {
// if (!Provider.of<PremiumProvider>(context, listen: false) // if (!Provider.of<PlusProvider>(context, listen: false)
// .hasScope(PremiumScopes.renameSubjects)) { // .hasScope(PremiumScopes.renameSubjects)) {
// PlusLockedFeaturePopup.show( // PlusLockedFeaturePopup.show(
// context: context, feature: PremiumFeature.subjectrename); // context: context, feature: PremiumFeature.subjectrename);
@ -58,7 +58,7 @@ class MenuRenamedSubjects extends StatelessWidget {
trailingDivider: true, trailingDivider: true,
trailing: Switch( trailing: Switch(
onChanged: (v) async { onChanged: (v) async {
// if (!Provider.of<PremiumProvider>(context, listen: false) // if (!Provider.of<PlusProvider>(context, listen: false)
// .hasScope(PremiumScopes.renameSubjects)) { // .hasScope(PremiumScopes.renameSubjects)) {
// PlusLockedFeaturePopup.show( // PlusLockedFeaturePopup.show(
// context: context, feature: PremiumFeature.subjectrename); // context: context, feature: PremiumFeature.subjectrename);

View File

@ -37,7 +37,7 @@ import 'package:refilc/models/icon_pack.dart';
import 'package:refilc/utils/format.dart'; import 'package:refilc/utils/format.dart';
import 'package:refilc_mobile_ui/screens/settings/theme_screen.dart'; import 'package:refilc_mobile_ui/screens/settings/theme_screen.dart';
// import 'package:refilc_plus/models/premium_scopes.dart'; // import 'package:refilc_plus/models/premium_scopes.dart';
// import 'package:refilc_plus/providers/premium_provider.dart'; // import 'package:refilc_plus/providers/plus_provider.dart';
// import 'package:refilc_plus/ui/mobile/plus/upsell.dart'; // import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
import 'package:refilc_plus/ui/mobile/settings/settings_helper.dart'; import 'package:refilc_plus/ui/mobile/settings/settings_helper.dart';
@ -409,7 +409,7 @@ class SettingsHelper {
} else if (index == accountTiles.length + 1) { } else if (index == accountTiles.length + 1) {
return PanelButton( return PanelButton(
onPressed: () { onPressed: () {
// if (!Provider.of<PremiumProvider>(context, listen: false) // if (!Provider.of<PlusProvider>(context, listen: false)
// .hasScope(PremiumScopes.maxTwoAccounts)) { // .hasScope(PremiumScopes.maxTwoAccounts)) {
// PlusLockedFeaturePopup.show( // PlusLockedFeaturePopup.show(
// context: context, feature: PremiumFeature.moreAccounts); // context: context, feature: PremiumFeature.moreAccounts);
@ -417,7 +417,7 @@ class SettingsHelper {
// } // }
// if ((accountTiles.length - 1 == 2) && // if ((accountTiles.length - 1 == 2) &&
// !Provider.of<PremiumProvider>(context, listen: false) // !Provider.of<PlusProvider>(context, listen: false)
// .hasScope(PremiumScopes.noAccountLimit)) { // .hasScope(PremiumScopes.noAccountLimit)) {
// PlusLockedFeaturePopup.show( // PlusLockedFeaturePopup.show(
// context: context, feature: PremiumFeature.moreAccounts); // context: context, feature: PremiumFeature.moreAccounts);

View File

@ -44,7 +44,7 @@ import 'package:refilc_mobile_ui/screens/settings/submenu/extras_screen.dart';
import 'package:refilc_mobile_ui/screens/settings/submenu/personalize_screen.dart'; import 'package:refilc_mobile_ui/screens/settings/submenu/personalize_screen.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
// import 'package:refilc_plus/models/premium_scopes.dart'; // import 'package:refilc_plus/models/premium_scopes.dart';
import 'package:refilc_plus/providers/premium_provider.dart'; import 'package:refilc_plus/providers/plus_provider.dart';
// import 'package:refilc_plus/ui/mobile/plus/upsell.dart'; // import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
// import 'package:refilc_plus/ui/mobile/settings/app_icon_screen.dart'; // import 'package:refilc_plus/ui/mobile/settings/app_icon_screen.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
@ -485,7 +485,7 @@ class SettingsScreenState extends State<SettingsScreen>
// // add account panel // // add account panel
// PanelButton( // PanelButton(
// onPressed: () { // onPressed: () {
// if (!Provider.of<PremiumProvider>(context, // if (!Provider.of<PlusProvider>(context,
// listen: false) // listen: false)
// .hasScope(PremiumScopes.maxTwoAccounts)) { // .hasScope(PremiumScopes.maxTwoAccounts)) {
// PlusLockedFeaturePopup.show( // PlusLockedFeaturePopup.show(
@ -559,7 +559,7 @@ class SettingsScreenState extends State<SettingsScreen>
// padding: EdgeInsets.symmetric(vertical: 12.0, horizontal: 24.0), // padding: EdgeInsets.symmetric(vertical: 12.0, horizontal: 24.0),
// child: PremiumBannerButton(), // child: PremiumBannerButton(),
// ), // ),
// if (!context.watch<PremiumProvider>().hasPremium) // if (!context.watch<PlusProvider>().hasPremium)
// const ClipRect( // const ClipRect(
// child: Padding( // child: Padding(
// padding: EdgeInsets.symmetric(vertical: 12.0), // padding: EdgeInsets.symmetric(vertical: 12.0),
@ -1087,8 +1087,7 @@ class SettingsScreenState extends State<SettingsScreen>
PanelButton( PanelButton(
borderRadius: BorderRadius.vertical( borderRadius: BorderRadius.vertical(
top: const Radius.circular(4.0), top: const Radius.circular(4.0),
bottom: bottom: Provider.of<PlusProvider>(context, listen: false)
Provider.of<PremiumProvider>(context, listen: false)
.hasPremium .hasPremium
? const Radius.circular(4.0) ? const Radius.circular(4.0)
: const Radius.circular(12.0), : const Radius.circular(12.0),
@ -1103,7 +1102,7 @@ class SettingsScreenState extends State<SettingsScreen>
text: Provider.of<KretaClient>(context, listen: false) text: Provider.of<KretaClient>(context, listen: false)
.accessToken!)), .accessToken!)),
), ),
if (Provider.of<PremiumProvider>(context, listen: false) if (Provider.of<PlusProvider>(context, listen: false)
.hasPremium) .hasPremium)
PanelButton( PanelButton(
borderRadius: const BorderRadius.vertical( borderRadius: const BorderRadius.vertical(
@ -1117,7 +1116,7 @@ class SettingsScreenState extends State<SettingsScreen>
), ),
title: const Text("Remove Premium"), title: const Text("Remove Premium"),
onPressed: () { onPressed: () {
Provider.of<PremiumProvider>(context, listen: false) Provider.of<PlusProvider>(context, listen: false)
.activate(removePremium: true); .activate(removePremium: true);
settings.update( settings.update(
accentColor: AccentColor.filc, store: true); accentColor: AccentColor.filc, store: true);

View File

@ -11,7 +11,7 @@ import 'package:flutter_feather_icons/flutter_feather_icons.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:refilc_plus/ui/mobile/settings/submenu/calendar_sync.dart'; import 'package:refilc_plus/ui/mobile/settings/submenu/calendar_sync.dart';
import 'package:refilc_plus/models/premium_scopes.dart'; import 'package:refilc_plus/models/premium_scopes.dart';
import 'package:refilc_plus/providers/premium_provider.dart'; import 'package:refilc_plus/providers/plus_provider.dart';
import 'package:refilc_plus/ui/mobile/plus/upsell.dart'; import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
import 'package:refilc_plus/ui/mobile/settings/welcome_message.dart'; import 'package:refilc_plus/ui/mobile/settings/welcome_message.dart';
// import 'package:provider/provider.dart'; // import 'package:provider/provider.dart';
@ -86,7 +86,7 @@ class ExtrasSettingsScreenState extends State<ExtrasSettingsScreen> {
PanelButton( PanelButton(
padding: const EdgeInsets.only(left: 14.0, right: 6.0), padding: const EdgeInsets.only(left: 14.0, right: 6.0),
onPressed: () async { onPressed: () async {
if (!Provider.of<PremiumProvider>(context, listen: false) if (!Provider.of<PlusProvider>(context, listen: false)
.hasScope(PremiumScopes.customGradeRarities)) { .hasScope(PremiumScopes.customGradeRarities)) {
return PlusLockedFeaturePopup.show( return PlusLockedFeaturePopup.show(
context: context, context: context,

View File

@ -26,7 +26,7 @@ import 'package:flutter_feather_icons/flutter_feather_icons.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:refilc_mobile_ui/screens/settings/settings_screen.i18n.dart'; import 'package:refilc_mobile_ui/screens/settings/settings_screen.i18n.dart';
import 'package:refilc_plus/models/premium_scopes.dart'; import 'package:refilc_plus/models/premium_scopes.dart';
import 'package:refilc_plus/providers/premium_provider.dart'; import 'package:refilc_plus/providers/plus_provider.dart';
import 'package:refilc_plus/ui/mobile/plus/upsell.dart'; import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
import 'package:google_fonts/google_fonts.dart'; import 'package:google_fonts/google_fonts.dart';
@ -670,7 +670,7 @@ class PersonalizeSettingsScreenState extends State<PersonalizeSettingsScreen>
children: [ children: [
PanelButton( PanelButton(
onPressed: () { onPressed: () {
if (!Provider.of<PremiumProvider>(context, if (!Provider.of<PlusProvider>(context,
listen: false) listen: false)
.hasScope(PremiumScopes.liveActivityColor)) { .hasScope(PremiumScopes.liveActivityColor)) {
PlusLockedFeaturePopup.show( PlusLockedFeaturePopup.show(
@ -886,8 +886,7 @@ class PersonalizeSettingsScreenState extends State<PersonalizeSettingsScreen>
children: [ children: [
PanelButton( PanelButton(
onPressed: () { onPressed: () {
if (!Provider.of<PremiumProvider>(context, if (!Provider.of<PlusProvider>(context, listen: false)
listen: false)
.hasScope(PremiumScopes.customFont)) { .hasScope(PremiumScopes.customFont)) {
PlusLockedFeaturePopup.show( PlusLockedFeaturePopup.show(
context: context, context: context,

View File

@ -16,7 +16,7 @@ import 'package:refilc_mobile_ui/common/panel/panel.dart';
import 'package:refilc_mobile_ui/common/widgets/grade/new_grades.dart'; import 'package:refilc_mobile_ui/common/widgets/grade/new_grades.dart';
import 'package:refilc_mobile_ui/common/widgets/homework/homework_tile.dart'; import 'package:refilc_mobile_ui/common/widgets/homework/homework_tile.dart';
// import 'package:refilc_plus/models/premium_scopes.dart'; // import 'package:refilc_plus/models/premium_scopes.dart';
// import 'package:refilc_plus/providers/premium_provider.dart'; // import 'package:refilc_plus/providers/plus_provider.dart';
import 'package:refilc_kreta_api/providers/share_provider.dart'; import 'package:refilc_kreta_api/providers/share_provider.dart';
import 'package:refilc/ui/flutter_colorpicker/colorpicker.dart'; import 'package:refilc/ui/flutter_colorpicker/colorpicker.dart';
// import 'package:refilc_plus/ui/mobile/plus/upsell.dart'; // import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
@ -223,7 +223,7 @@ class _PremiumCustomAccentColorSettingState
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
// bool hasAccess = Provider.of<PremiumProvider>(context) // bool hasAccess = Provider.of<PlusProvider>(context)
// .hasScope(PremiumScopes.customColors); // .hasScope(PremiumScopes.customColors);
bool hasAccess = true; bool hasAccess = true;
bool isBackgroundDifferent = Theme.of(context).colorScheme.background != bool isBackgroundDifferent = Theme.of(context).colorScheme.background !=

View File

@ -3,7 +3,7 @@ import 'package:refilc/api/providers/user_provider.dart';
import 'package:refilc/models/user.dart'; import 'package:refilc/models/user.dart';
import 'package:refilc_mobile_ui/common/bottom_sheet_menu/bottom_sheet_menu_item.dart'; import 'package:refilc_mobile_ui/common/bottom_sheet_menu/bottom_sheet_menu_item.dart';
// import 'package:refilc_plus/models/premium_scopes.dart'; // import 'package:refilc_plus/models/premium_scopes.dart';
// import 'package:refilc_plus/providers/premium_provider.dart'; // import 'package:refilc_plus/providers/plus_provider.dart';
// import 'package:refilc_plus/ui/mobile/plus/upsell.dart'; // import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_feather_icons/flutter_feather_icons.dart'; import 'package:flutter_feather_icons/flutter_feather_icons.dart';
@ -20,7 +20,7 @@ class UserMenuNickname extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return BottomSheetMenuItem( return BottomSheetMenuItem(
onPressed: () { onPressed: () {
// if (!Provider.of<PremiumProvider>(context, listen: false) // if (!Provider.of<PlusProvider>(context, listen: false)
// .hasScope(PremiumScopes.nickname)) { // .hasScope(PremiumScopes.nickname)) {
// PlusLockedFeaturePopup.show( // PlusLockedFeaturePopup.show(
// context: context, feature: PremiumFeature.profile); // context: context, feature: PremiumFeature.profile);

View File

@ -9,7 +9,7 @@ import 'package:refilc/api/providers/user_provider.dart';
import 'package:refilc/models/user.dart'; import 'package:refilc/models/user.dart';
import 'package:refilc_mobile_ui/common/bottom_sheet_menu/bottom_sheet_menu_item.dart'; import 'package:refilc_mobile_ui/common/bottom_sheet_menu/bottom_sheet_menu_item.dart';
// import 'package:refilc_plus/models/premium_scopes.dart'; // import 'package:refilc_plus/models/premium_scopes.dart';
// import 'package:refilc_plus/providers/premium_provider.dart'; // import 'package:refilc_plus/providers/plus_provider.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:flutter_feather_icons/flutter_feather_icons.dart'; import 'package:flutter_feather_icons/flutter_feather_icons.dart';
@ -26,7 +26,7 @@ class UserMenuProfilePic extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
// if (!Provider.of<PremiumProvider>(context) // if (!Provider.of<PlusProvider>(context)
// .hasScope(PremiumScopes.nickname)) { // .hasScope(PremiumScopes.nickname)) {
// return const SizedBox(); // return const SizedBox();
// } // }

@ -1 +1 @@
Subproject commit cfd34a7faeb1a418bc7542951636481e23f4fdd6 Subproject commit 04b917c65351814cfd073bc76bd5e026f8d4dfbb