diff --git a/refilc/assets/images/btn_plus_gold.png b/refilc/assets/images/btn_plus_gold.png
new file mode 100644
index 0000000..ba6d8ef
Binary files /dev/null and b/refilc/assets/images/btn_plus_gold.png differ
diff --git a/refilc/assets/images/btn_plus_standard.png b/refilc/assets/images/btn_plus_standard.png
new file mode 100644
index 0000000..61c0429
Binary files /dev/null and b/refilc/assets/images/btn_plus_standard.png differ
diff --git a/refilc/assets/images/plus_gold.png b/refilc/assets/images/plus_gold.png
new file mode 100644
index 0000000..b9ad7ee
Binary files /dev/null and b/refilc/assets/images/plus_gold.png differ
diff --git a/refilc/assets/images/plus_standard.png b/refilc/assets/images/plus_standard.png
new file mode 100644
index 0000000..6e796b0
Binary files /dev/null and b/refilc/assets/images/plus_standard.png differ
diff --git a/refilc/assets/svg/mesh_bg.svg b/refilc/assets/svg/mesh_bg.svg
new file mode 100644
index 0000000..5301c50
--- /dev/null
+++ b/refilc/assets/svg/mesh_bg.svg
@@ -0,0 +1,43 @@
+
diff --git a/refilc/pubspec.yaml b/refilc/pubspec.yaml
index b029640..492b94c 100644
--- a/refilc/pubspec.yaml
+++ b/refilc/pubspec.yaml
@@ -101,6 +101,7 @@ flutter:
- assets/images/ext_logo/
- assets/svg/menu_icons/
- assets/other/dirtywords.xml
+ - assets/svg/mesh_bg.svg
fonts:
- family: FilcIcons
diff --git a/refilc_mobile_ui/lib/common/bottom_sheet_menu/rounded_bottom_sheet.dart b/refilc_mobile_ui/lib/common/bottom_sheet_menu/rounded_bottom_sheet.dart
index 8f7d9e8..fca1ad5 100644
--- a/refilc_mobile_ui/lib/common/bottom_sheet_menu/rounded_bottom_sheet.dart
+++ b/refilc_mobile_ui/lib/common/bottom_sheet_menu/rounded_bottom_sheet.dart
@@ -52,14 +52,19 @@ Future showRoundedModalBottomSheet(
BuildContext context, {
required Widget child,
bool rootNavigator = true,
+ bool showHandle = true,
}) async {
return await showModalBottomSheet(
- context: context,
- backgroundColor: const Color(0x00000000),
- elevation: 0,
- isDismissible: true,
- useRootNavigator: rootNavigator,
- builder: (context) => RoundedBottomSheet(child: child));
+ context: context,
+ backgroundColor: const Color(0x00000000),
+ elevation: 0,
+ isDismissible: true,
+ useRootNavigator: rootNavigator,
+ builder: (context) => RoundedBottomSheet(
+ showHandle: false,
+ child: child,
+ ),
+ );
}
PersistentBottomSheetController showRoundedBottomSheet(
diff --git a/refilc_mobile_ui/lib/common/widgets/grade/grade_view.i18n.dart b/refilc_mobile_ui/lib/common/widgets/grade/grade_view.i18n.dart
index 4acd25b..955073b 100644
--- a/refilc_mobile_ui/lib/common/widgets/grade/grade_view.i18n.dart
+++ b/refilc_mobile_ui/lib/common/widgets/grade/grade_view.i18n.dart
@@ -8,21 +8,18 @@ extension Localization on String {
"date": "Date",
"description": "Description",
"mode": "Type",
- "Nem írt": "Missed exam",
},
"hu_hu": {
"value": "Érték",
"date": "Írás ideje",
"description": "Leírás",
"mode": "Típus",
- "Nem írt": "Nem írta meg a dolgozatot"
},
"de_de": {
"value": "Notenwert",
"date": "Prüfungszeit",
"description": "Bezeichnung",
"mode": "Typ",
- "Nem írt": "Nicht geschrieben"
}
};
diff --git a/refilc_mobile_ui/lib/pages/grades/average_selector.dart b/refilc_mobile_ui/lib/pages/grades/average_selector.dart
index 310eab0..2dd01be 100644
--- a/refilc_mobile_ui/lib/pages/grades/average_selector.dart
+++ b/refilc_mobile_ui/lib/pages/grades/average_selector.dart
@@ -55,7 +55,7 @@ class AverageSelectorState extends State {
});
}
// } else {
- // PremiumLockedFeatureUpsell.show(
+ // PlusLockedFeaturePopup.show(
// context: context, feature: PremiumFeature.gradestats);
// }
},
diff --git a/refilc_mobile_ui/lib/pages/grades/grade_subject_view.dart b/refilc_mobile_ui/lib/pages/grades/grade_subject_view.dart
index d124a48..c7e86e4 100644
--- a/refilc_mobile_ui/lib/pages/grades/grade_subject_view.dart
+++ b/refilc_mobile_ui/lib/pages/grades/grade_subject_view.dart
@@ -248,7 +248,7 @@ class _GradeSubjectViewState extends State {
onPressed: () {
// if (!Provider.of(context, listen: false)
// .hasScope(PremiumScopes.goalPlanner)) {
- // PremiumLockedFeatureUpsell.show(
+ // PlusLockedFeaturePopup.show(
// context: context, feature: PremiumFeature.goalplanner);
// return;
// }
diff --git a/refilc_mobile_ui/lib/pages/grades/grades_page.dart b/refilc_mobile_ui/lib/pages/grades/grades_page.dart
index 3c40eb1..a1c5ff9 100644
--- a/refilc_mobile_ui/lib/pages/grades/grades_page.dart
+++ b/refilc_mobile_ui/lib/pages/grades/grades_page.dart
@@ -515,7 +515,7 @@ class GradesPageState extends State {
if (!Provider.of(context,
listen: false)
.hasScope(PremiumScopes.totalGradeCalculator)) {
- PremiumLockedFeatureUpsell.show(
+ PlusLockedFeaturePopup.show(
context: context,
feature: PremiumFeature.gradeCalculation);
return;
diff --git a/refilc_mobile_ui/lib/pages/notes/notes_page.dart b/refilc_mobile_ui/lib/pages/notes/notes_page.dart
index a229f71..b254b01 100644
--- a/refilc_mobile_ui/lib/pages/notes/notes_page.dart
+++ b/refilc_mobile_ui/lib/pages/notes/notes_page.dart
@@ -223,7 +223,7 @@ class NotesPageState extends State with TickerProviderStateMixin {
listen: false)
.hasScope(PremiumScopes.unlimitedSelfNotes) &&
noteTiles.length > 10) {
- return PremiumLockedFeatureUpsell.show(
+ return PlusLockedFeaturePopup.show(
context: context,
feature: PremiumFeature.selfNotes);
}
diff --git a/refilc_mobile_ui/lib/screens/notes/notes_screen.dart b/refilc_mobile_ui/lib/screens/notes/notes_screen.dart
index 05b15b2..c92a88c 100644
--- a/refilc_mobile_ui/lib/screens/notes/notes_screen.dart
+++ b/refilc_mobile_ui/lib/screens/notes/notes_screen.dart
@@ -216,7 +216,7 @@ class NotesScreenState extends State {
if (!Provider.of(context, listen: false)
.hasScope(PremiumScopes.unlimitedSelfNotes) &&
noteTiles.length > 10) {
- return PremiumLockedFeatureUpsell.show(
+ return PlusLockedFeaturePopup.show(
context: context, feature: PremiumFeature.selfNotes);
}
diff --git a/refilc_mobile_ui/lib/screens/settings/modify_subject_names.dart b/refilc_mobile_ui/lib/screens/settings/modify_subject_names.dart
index ddf09fb..8c5e7a6 100644
--- a/refilc_mobile_ui/lib/screens/settings/modify_subject_names.dart
+++ b/refilc_mobile_ui/lib/screens/settings/modify_subject_names.dart
@@ -35,7 +35,7 @@ class MenuRenamedSubjects extends StatelessWidget {
onPressed: () {
// if (!Provider.of(context, listen: false)
// .hasScope(PremiumScopes.renameSubjects)) {
- // PremiumLockedFeatureUpsell.show(
+ // PlusLockedFeaturePopup.show(
// context: context, feature: PremiumFeature.subjectrename);
// return;
// }
@@ -60,7 +60,7 @@ class MenuRenamedSubjects extends StatelessWidget {
onChanged: (v) async {
// if (!Provider.of(context, listen: false)
// .hasScope(PremiumScopes.renameSubjects)) {
- // PremiumLockedFeatureUpsell.show(
+ // PlusLockedFeaturePopup.show(
// context: context, feature: PremiumFeature.subjectrename);
// return;
// }
diff --git a/refilc_mobile_ui/lib/screens/settings/settings_helper.dart b/refilc_mobile_ui/lib/screens/settings/settings_helper.dart
index 249997c..4528054 100644
--- a/refilc_mobile_ui/lib/screens/settings/settings_helper.dart
+++ b/refilc_mobile_ui/lib/screens/settings/settings_helper.dart
@@ -411,7 +411,7 @@ class SettingsHelper {
onPressed: () {
// if (!Provider.of(context, listen: false)
// .hasScope(PremiumScopes.maxTwoAccounts)) {
- // PremiumLockedFeatureUpsell.show(
+ // PlusLockedFeaturePopup.show(
// context: context, feature: PremiumFeature.moreAccounts);
// return;
// }
@@ -419,7 +419,7 @@ class SettingsHelper {
// if ((accountTiles.length - 1 == 2) &&
// !Provider.of(context, listen: false)
// .hasScope(PremiumScopes.noAccountLimit)) {
- // PremiumLockedFeatureUpsell.show(
+ // PlusLockedFeaturePopup.show(
// context: context, feature: PremiumFeature.moreAccounts);
// return;
// }
diff --git a/refilc_mobile_ui/lib/screens/settings/settings_screen.dart b/refilc_mobile_ui/lib/screens/settings/settings_screen.dart
index f532586..70cd369 100644
--- a/refilc_mobile_ui/lib/screens/settings/settings_screen.dart
+++ b/refilc_mobile_ui/lib/screens/settings/settings_screen.dart
@@ -487,7 +487,7 @@ class SettingsScreenState extends State
// if (!Provider.of(context,
// listen: false)
// .hasScope(PremiumScopes.maxTwoAccounts)) {
- // PremiumLockedFeatureUpsell.show(
+ // PlusLockedFeaturePopup.show(
// context: context,
// feature: PremiumFeature.moreAccounts);
// return;
diff --git a/refilc_mobile_ui/lib/screens/settings/submenu/extras_screen.dart b/refilc_mobile_ui/lib/screens/settings/submenu/extras_screen.dart
index a6fac89..21322c0 100644
--- a/refilc_mobile_ui/lib/screens/settings/submenu/extras_screen.dart
+++ b/refilc_mobile_ui/lib/screens/settings/submenu/extras_screen.dart
@@ -88,7 +88,7 @@ class ExtrasSettingsScreenState extends State {
onPressed: () async {
if (!Provider.of(context, listen: false)
.hasScope(PremiumScopes.customGradeRarities)) {
- return PremiumLockedFeatureUpsell.show(
+ return PlusLockedFeaturePopup.show(
context: context,
feature: PremiumFeature.gradeRarities);
}
diff --git a/refilc_mobile_ui/lib/screens/settings/submenu/personalize_screen.dart b/refilc_mobile_ui/lib/screens/settings/submenu/personalize_screen.dart
index 4c73b32..3c657d2 100644
--- a/refilc_mobile_ui/lib/screens/settings/submenu/personalize_screen.dart
+++ b/refilc_mobile_ui/lib/screens/settings/submenu/personalize_screen.dart
@@ -671,7 +671,7 @@ class PersonalizeSettingsScreenState extends State
if (!Provider.of(context,
listen: false)
.hasScope(PremiumScopes.liveActivityColor)) {
- PremiumLockedFeatureUpsell.show(
+ PlusLockedFeaturePopup.show(
context: context,
feature: PremiumFeature.liveActivity,
);
@@ -845,7 +845,7 @@ class PersonalizeSettingsScreenState extends State
if (!Provider.of(context,
listen: false)
.hasScope(PremiumScopes.customFont)) {
- PremiumLockedFeatureUpsell.show(
+ PlusLockedFeaturePopup.show(
context: context,
feature: PremiumFeature.fontChange);
return;
diff --git a/refilc_mobile_ui/lib/screens/settings/theme_screen.dart b/refilc_mobile_ui/lib/screens/settings/theme_screen.dart
index d9c5964..eaefc5e 100644
--- a/refilc_mobile_ui/lib/screens/settings/theme_screen.dart
+++ b/refilc_mobile_ui/lib/screens/settings/theme_screen.dart
@@ -744,7 +744,7 @@ class _PremiumCustomAccentColorSettingState
// _colorsTabController.animateTo(0,
// duration: Duration.zero);
- // PremiumLockedFeatureUpsell.show(
+ // PlusLockedFeaturePopup.show(
// context: context,
// feature: PremiumFeature
// .customcolors);
diff --git a/refilc_mobile_ui/lib/screens/settings/user/nickname.dart b/refilc_mobile_ui/lib/screens/settings/user/nickname.dart
index ad03303..c42ba48 100644
--- a/refilc_mobile_ui/lib/screens/settings/user/nickname.dart
+++ b/refilc_mobile_ui/lib/screens/settings/user/nickname.dart
@@ -22,7 +22,7 @@ class UserMenuNickname extends StatelessWidget {
onPressed: () {
// if (!Provider.of(context, listen: false)
// .hasScope(PremiumScopes.nickname)) {
- // PremiumLockedFeatureUpsell.show(
+ // PlusLockedFeaturePopup.show(
// context: context, feature: PremiumFeature.profile);
// return;
// }