did a lot in refilc+

This commit is contained in:
Kima
2024-01-06 23:27:56 +01:00
parent 23673a34d8
commit d8b85ba1b4
10 changed files with 126 additions and 94 deletions

View File

@@ -13,9 +13,9 @@ import 'package:filcnaplo_kreta_api/providers/grade_provider.dart';
import 'package:filcnaplo_kreta_api/providers/timetable_provider.dart';
import 'package:filcnaplo_mobile_ui/common/panel/panel.dart';
import 'package:filcnaplo_mobile_ui/common/panel/panel_button.dart';
import 'package:refilc_plus/models/premium_scopes.dart';
import 'package:refilc_plus/providers/premium_provider.dart';
import 'package:refilc_plus/ui/mobile/premium/upsell.dart';
// import 'package:refilc_plus/models/premium_scopes.dart';
// import 'package:refilc_plus/providers/premium_provider.dart';
// import 'package:refilc_plus/ui/mobile/premium/upsell.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_feather_icons/flutter_feather_icons.dart';
@@ -33,12 +33,12 @@ class MenuRenamedSubjects extends StatelessWidget {
return PanelButton(
padding: const EdgeInsets.only(left: 14.0),
onPressed: () {
if (!Provider.of<PremiumProvider>(context, listen: false)
.hasScope(PremiumScopes.renameSubjects)) {
PremiumLockedFeatureUpsell.show(
context: context, feature: PremiumFeature.subjectrename);
return;
}
// if (!Provider.of<PremiumProvider>(context, listen: false)
// .hasScope(PremiumScopes.renameSubjects)) {
// PremiumLockedFeatureUpsell.show(
// context: context, feature: PremiumFeature.subjectrename);
// return;
// }
Navigator.of(context, rootNavigator: true).push(
CupertinoPageRoute(builder: (context) => const ModifySubjectNames()),
@@ -58,12 +58,12 @@ class MenuRenamedSubjects extends StatelessWidget {
trailingDivider: true,
trailing: Switch(
onChanged: (v) async {
if (!Provider.of<PremiumProvider>(context, listen: false)
.hasScope(PremiumScopes.renameSubjects)) {
PremiumLockedFeatureUpsell.show(
context: context, feature: PremiumFeature.subjectrename);
return;
}
// if (!Provider.of<PremiumProvider>(context, listen: false)
// .hasScope(PremiumScopes.renameSubjects)) {
// PremiumLockedFeatureUpsell.show(
// context: context, feature: PremiumFeature.subjectrename);
// return;
// }
settings.update(renamedSubjectsEnabled: v);
await Provider.of<GradeProvider>(context, listen: false)

View File

@@ -37,7 +37,9 @@ import 'package:filcnaplo_mobile_ui/screens/settings/modify_subject_names.dart';
import 'package:filcnaplo_mobile_ui/screens/settings/notifications_screen.dart';
import 'package:filcnaplo_mobile_ui/screens/settings/privacy_view.dart';
import 'package:filcnaplo_mobile_ui/screens/settings/settings_helper.dart';
import 'package:refilc_plus/models/premium_scopes.dart';
import 'package:refilc_plus/providers/premium_provider.dart';
import 'package:refilc_plus/ui/mobile/premium/upsell.dart';
import 'package:refilc_plus/ui/mobile/settings/app_icon_screen.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart';
@@ -436,6 +438,15 @@ class SettingsScreenState extends State<SettingsScreen>
// account settings
PanelButton(
onPressed: () {
if (!Provider.of<PremiumProvider>(context,
listen: false)
.hasScope(PremiumScopes.maxTwoAccounts)) {
PremiumLockedFeatureUpsell.show(
context: context,
feature: PremiumFeature.moreAccounts);
return;
}
Navigator.of(context)
.pushNamed("login_back")
.then((value) {
@@ -837,6 +848,15 @@ class SettingsScreenState extends State<SettingsScreen>
if (defaultTargetPlatform == TargetPlatform.iOS)
PanelButton(
onPressed: () {
if (!Provider.of<PremiumProvider>(context,
listen: false)
.hasScope(PremiumScopes.liveActivityColor)) {
PremiumLockedFeatureUpsell.show(
context: context,
feature: PremiumFeature.liveActivity);
return;
}
SettingsHelper.liveActivityColor(context);
setState(() {});
},
@@ -1131,20 +1151,21 @@ class SettingsScreenState extends State<SettingsScreen>
Provider.of<KretaClient>(context, listen: false)
.accessToken!)),
),
// if (Provider.of<PremiumProvider>(context, listen: false)
// .hasPremium)
PanelButton(
leading: const Icon(FeatherIcons.key),
title: const Text("Remove Premium"),
onPressed: () {
Provider.of<PremiumProvider>(context, listen: false)
.activate(removePremium: true);
settings.update(
accentColor: AccentColor.filc, store: true);
Provider.of<ThemeModeObserver>(context, listen: false)
.changeTheme(settings.theme);
},
),
if (Provider.of<PremiumProvider>(context, listen: false)
.hasPremium)
PanelButton(
leading: const Icon(FeatherIcons.key),
title: const Text("Remove Premium"),
onPressed: () {
Provider.of<PremiumProvider>(context, listen: false)
.activate(removePremium: true);
settings.update(
accentColor: AccentColor.filc, store: true);
Provider.of<ThemeModeObserver>(context,
listen: false)
.changeTheme(settings.theme);
},
),
],
),
),

View File

@@ -15,11 +15,11 @@ import 'package:filcnaplo_mobile_ui/common/filter_bar.dart';
import 'package:filcnaplo_mobile_ui/common/panel/panel.dart';
import 'package:filcnaplo_mobile_ui/common/widgets/grade/new_grades.dart';
import 'package:filcnaplo_mobile_ui/common/widgets/homework/homework_tile.dart';
import 'package:refilc_plus/models/premium_scopes.dart';
import 'package:refilc_plus/providers/premium_provider.dart';
// import 'package:refilc_plus/models/premium_scopes.dart';
// import 'package:refilc_plus/providers/premium_provider.dart';
import 'package:filcnaplo_kreta_api/providers/share_provider.dart';
import 'package:filcnaplo/ui/flutter_colorpicker/colorpicker.dart';
import 'package:refilc_plus/ui/mobile/premium/upsell.dart';
// import 'package:refilc_plus/ui/mobile/premium/upsell.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_feather_icons/flutter_feather_icons.dart';
@@ -205,8 +205,9 @@ class _PremiumCustomAccentColorSettingState
@override
Widget build(BuildContext context) {
bool hasAccess = Provider.of<PremiumProvider>(context)
.hasScope(PremiumScopes.customColors);
// bool hasAccess = Provider.of<PremiumProvider>(context)
// .hasScope(PremiumScopes.customColors);
bool hasAccess = true;
bool isBackgroundDifferent = Theme.of(context).colorScheme.background !=
AppColors.of(context).background;
@@ -723,16 +724,16 @@ class _PremiumCustomAccentColorSettingState
// "colorpicker_icon".i18n)),
],
onTap: (index) {
if (!hasAccess) {
index = 0;
_colorsTabController.animateTo(0,
duration: Duration.zero);
// if (!hasAccess) {
// index = 0;
// _colorsTabController.animateTo(0,
// duration: Duration.zero);
PremiumLockedFeatureUpsell.show(
context: context,
feature: PremiumFeature
.customcolors);
}
// PremiumLockedFeatureUpsell.show(
// context: context,
// feature: PremiumFeature
// .customcolors);
// }
switch (index) {
case 0:

View File

@@ -2,9 +2,9 @@ import 'package:filcnaplo/api/providers/database_provider.dart';
import 'package:filcnaplo/api/providers/user_provider.dart';
import 'package:filcnaplo/models/user.dart';
import 'package:filcnaplo_mobile_ui/common/bottom_sheet_menu/bottom_sheet_menu_item.dart';
import 'package:refilc_plus/models/premium_scopes.dart';
import 'package:refilc_plus/providers/premium_provider.dart';
import 'package:refilc_plus/ui/mobile/premium/upsell.dart';
// import 'package:refilc_plus/models/premium_scopes.dart';
// import 'package:refilc_plus/providers/premium_provider.dart';
// import 'package:refilc_plus/ui/mobile/premium/upsell.dart';
import 'package:flutter/material.dart';
import 'package:flutter_feather_icons/flutter_feather_icons.dart';
import 'package:filcnaplo_mobile_ui/screens/settings/settings_screen.i18n.dart';
@@ -20,12 +20,12 @@ class UserMenuNickname extends StatelessWidget {
Widget build(BuildContext context) {
return BottomSheetMenuItem(
onPressed: () {
if (!Provider.of<PremiumProvider>(context, listen: false)
.hasScope(PremiumScopes.nickname)) {
PremiumLockedFeatureUpsell.show(
context: context, feature: PremiumFeature.profile);
return;
}
// if (!Provider.of<PremiumProvider>(context, listen: false)
// .hasScope(PremiumScopes.nickname)) {
// PremiumLockedFeatureUpsell.show(
// context: context, feature: PremiumFeature.profile);
// return;
// }
showDialog(
context: context, builder: (context) => UserNicknameEditor(u));
},

View File

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