forked from firka/student-legacy
completed new plus popup when feature unavailable :3
This commit is contained in:
parent
1757e16dea
commit
161f61ea96
BIN
refilc/assets/images/btn_plus_gold.png
Normal file
BIN
refilc/assets/images/btn_plus_gold.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 48 KiB |
BIN
refilc/assets/images/btn_plus_standard.png
Normal file
BIN
refilc/assets/images/btn_plus_standard.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 49 KiB |
BIN
refilc/assets/images/plus_gold.png
Normal file
BIN
refilc/assets/images/plus_gold.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 41 KiB |
BIN
refilc/assets/images/plus_standard.png
Normal file
BIN
refilc/assets/images/plus_standard.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 42 KiB |
43
refilc/assets/svg/mesh_bg.svg
Normal file
43
refilc/assets/svg/mesh_bg.svg
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
<svg width="375" height="174" viewBox="0 0 375 174" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_581_2504)">
|
||||||
|
<g style="mix-blend-mode:color-burn">
|
||||||
|
<rect x="138.881" y="36.8047" width="50.4482" height="50.4482" stroke="black"/>
|
||||||
|
<rect x="189.186" y="36.8047" width="50.4482" height="50.4482" stroke="black"/>
|
||||||
|
<rect x="138.881" y="-13.5" width="50.4482" height="50.4482" stroke="black"/>
|
||||||
|
<rect x="189.186" y="-13.5" width="50.4482" height="50.4482" stroke="black"/>
|
||||||
|
<rect x="239.49" y="36.8047" width="49.3049" height="50.4482" stroke="black"/>
|
||||||
|
<rect x="288.652" y="36.8047" width="50.4482" height="50.4482" stroke="black"/>
|
||||||
|
<rect x="239.49" y="-13.5" width="49.3049" height="50.4482" stroke="black"/>
|
||||||
|
<rect x="288.652" y="-13.5" width="50.4482" height="50.4482" stroke="black"/>
|
||||||
|
<rect x="138.881" y="136.271" width="50.4482" height="50.4482" stroke="black"/>
|
||||||
|
<rect x="189.186" y="136.271" width="50.4482" height="50.4482" stroke="black"/>
|
||||||
|
<rect x="138.881" y="87.1099" width="50.4482" height="49.3049" stroke="black"/>
|
||||||
|
<rect x="189.186" y="87.1099" width="50.4482" height="49.3049" stroke="black"/>
|
||||||
|
<rect x="239.49" y="136.271" width="49.3049" height="50.4482" stroke="black"/>
|
||||||
|
<rect x="288.652" y="136.271" width="50.4482" height="50.4482" stroke="black"/>
|
||||||
|
<rect x="239.49" y="87.1099" width="49.3049" height="49.3049" stroke="black"/>
|
||||||
|
<rect x="288.652" y="87.1099" width="50.4482" height="49.3049" stroke="black"/>
|
||||||
|
<rect x="338.957" y="36.8047" width="50.4482" height="50.4482" stroke="black"/>
|
||||||
|
<rect x="338.957" y="-13.5" width="50.4482" height="50.4482" stroke="black"/>
|
||||||
|
<rect x="338.957" y="136.271" width="50.4482" height="50.4482" stroke="black"/>
|
||||||
|
<rect x="338.957" y="87.1099" width="50.4482" height="49.3049" stroke="black"/>
|
||||||
|
<rect x="-10.8906" y="36.8047" width="49.3049" height="50.4482" stroke="black"/>
|
||||||
|
<rect x="38.2705" y="36.8047" width="50.4482" height="50.4482" stroke="black"/>
|
||||||
|
<rect x="-10.8906" y="-13.5" width="49.3049" height="50.4482" stroke="black"/>
|
||||||
|
<rect x="38.2705" y="-13.5" width="50.4482" height="50.4482" stroke="black"/>
|
||||||
|
<rect x="-10.8906" y="136.271" width="49.3049" height="50.4482" stroke="black"/>
|
||||||
|
<rect x="38.2705" y="136.271" width="50.4482" height="50.4482" stroke="black"/>
|
||||||
|
<rect x="-10.8906" y="87.1099" width="49.3049" height="49.3049" stroke="black"/>
|
||||||
|
<rect x="38.2705" y="87.1099" width="50.4482" height="49.3049" stroke="black"/>
|
||||||
|
<rect x="88.5762" y="36.8047" width="50.4482" height="50.4482" stroke="black"/>
|
||||||
|
<rect x="88.5762" y="-13.5" width="50.4482" height="50.4482" stroke="black"/>
|
||||||
|
<rect x="88.5762" y="136.271" width="50.4482" height="50.4482" stroke="black"/>
|
||||||
|
<rect x="88.5762" y="87.1099" width="50.4482" height="49.3049" stroke="black"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_581_2504">
|
||||||
|
<rect width="375" height="173.78" fill="white"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.8 KiB |
@ -101,6 +101,7 @@ flutter:
|
|||||||
- assets/images/ext_logo/
|
- assets/images/ext_logo/
|
||||||
- assets/svg/menu_icons/
|
- assets/svg/menu_icons/
|
||||||
- assets/other/dirtywords.xml
|
- assets/other/dirtywords.xml
|
||||||
|
- assets/svg/mesh_bg.svg
|
||||||
|
|
||||||
fonts:
|
fonts:
|
||||||
- family: FilcIcons
|
- family: FilcIcons
|
||||||
|
@ -52,14 +52,19 @@ Future<T?> showRoundedModalBottomSheet<T>(
|
|||||||
BuildContext context, {
|
BuildContext context, {
|
||||||
required Widget child,
|
required Widget child,
|
||||||
bool rootNavigator = true,
|
bool rootNavigator = true,
|
||||||
|
bool showHandle = true,
|
||||||
}) async {
|
}) async {
|
||||||
return await showModalBottomSheet<T>(
|
return await showModalBottomSheet<T>(
|
||||||
context: context,
|
context: context,
|
||||||
backgroundColor: const Color(0x00000000),
|
backgroundColor: const Color(0x00000000),
|
||||||
elevation: 0,
|
elevation: 0,
|
||||||
isDismissible: true,
|
isDismissible: true,
|
||||||
useRootNavigator: rootNavigator,
|
useRootNavigator: rootNavigator,
|
||||||
builder: (context) => RoundedBottomSheet(child: child));
|
builder: (context) => RoundedBottomSheet(
|
||||||
|
showHandle: false,
|
||||||
|
child: child,
|
||||||
|
),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
PersistentBottomSheetController showRoundedBottomSheet(
|
PersistentBottomSheetController showRoundedBottomSheet(
|
||||||
|
@ -8,21 +8,18 @@ extension Localization on String {
|
|||||||
"date": "Date",
|
"date": "Date",
|
||||||
"description": "Description",
|
"description": "Description",
|
||||||
"mode": "Type",
|
"mode": "Type",
|
||||||
"Nem írt": "Missed exam",
|
|
||||||
},
|
},
|
||||||
"hu_hu": {
|
"hu_hu": {
|
||||||
"value": "Érték",
|
"value": "Érték",
|
||||||
"date": "Írás ideje",
|
"date": "Írás ideje",
|
||||||
"description": "Leírás",
|
"description": "Leírás",
|
||||||
"mode": "Típus",
|
"mode": "Típus",
|
||||||
"Nem írt": "Nem írta meg a dolgozatot"
|
|
||||||
},
|
},
|
||||||
"de_de": {
|
"de_de": {
|
||||||
"value": "Notenwert",
|
"value": "Notenwert",
|
||||||
"date": "Prüfungszeit",
|
"date": "Prüfungszeit",
|
||||||
"description": "Bezeichnung",
|
"description": "Bezeichnung",
|
||||||
"mode": "Typ",
|
"mode": "Typ",
|
||||||
"Nem írt": "Nicht geschrieben"
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ class AverageSelectorState extends State<AverageSelector> {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
// } else {
|
// } else {
|
||||||
// PremiumLockedFeatureUpsell.show(
|
// PlusLockedFeaturePopup.show(
|
||||||
// context: context, feature: PremiumFeature.gradestats);
|
// context: context, feature: PremiumFeature.gradestats);
|
||||||
// }
|
// }
|
||||||
},
|
},
|
||||||
|
@ -248,7 +248,7 @@ class _GradeSubjectViewState extends State<GradeSubjectView> {
|
|||||||
onPressed: () {
|
onPressed: () {
|
||||||
// if (!Provider.of<PremiumProvider>(context, listen: false)
|
// if (!Provider.of<PremiumProvider>(context, listen: false)
|
||||||
// .hasScope(PremiumScopes.goalPlanner)) {
|
// .hasScope(PremiumScopes.goalPlanner)) {
|
||||||
// PremiumLockedFeatureUpsell.show(
|
// PlusLockedFeaturePopup.show(
|
||||||
// context: context, feature: PremiumFeature.goalplanner);
|
// context: context, feature: PremiumFeature.goalplanner);
|
||||||
// return;
|
// return;
|
||||||
// }
|
// }
|
||||||
|
@ -515,7 +515,7 @@ class GradesPageState extends State<GradesPage> {
|
|||||||
if (!Provider.of<PremiumProvider>(context,
|
if (!Provider.of<PremiumProvider>(context,
|
||||||
listen: false)
|
listen: false)
|
||||||
.hasScope(PremiumScopes.totalGradeCalculator)) {
|
.hasScope(PremiumScopes.totalGradeCalculator)) {
|
||||||
PremiumLockedFeatureUpsell.show(
|
PlusLockedFeaturePopup.show(
|
||||||
context: context,
|
context: context,
|
||||||
feature: PremiumFeature.gradeCalculation);
|
feature: PremiumFeature.gradeCalculation);
|
||||||
return;
|
return;
|
||||||
|
@ -223,7 +223,7 @@ class NotesPageState extends State<NotesPage> with TickerProviderStateMixin {
|
|||||||
listen: false)
|
listen: false)
|
||||||
.hasScope(PremiumScopes.unlimitedSelfNotes) &&
|
.hasScope(PremiumScopes.unlimitedSelfNotes) &&
|
||||||
noteTiles.length > 10) {
|
noteTiles.length > 10) {
|
||||||
return PremiumLockedFeatureUpsell.show(
|
return PlusLockedFeaturePopup.show(
|
||||||
context: context,
|
context: context,
|
||||||
feature: PremiumFeature.selfNotes);
|
feature: PremiumFeature.selfNotes);
|
||||||
}
|
}
|
||||||
|
@ -216,7 +216,7 @@ class NotesScreenState extends State<NotesScreen> {
|
|||||||
if (!Provider.of<PremiumProvider>(context, listen: false)
|
if (!Provider.of<PremiumProvider>(context, listen: false)
|
||||||
.hasScope(PremiumScopes.unlimitedSelfNotes) &&
|
.hasScope(PremiumScopes.unlimitedSelfNotes) &&
|
||||||
noteTiles.length > 10) {
|
noteTiles.length > 10) {
|
||||||
return PremiumLockedFeatureUpsell.show(
|
return PlusLockedFeaturePopup.show(
|
||||||
context: context, feature: PremiumFeature.selfNotes);
|
context: context, feature: PremiumFeature.selfNotes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@ class MenuRenamedSubjects extends StatelessWidget {
|
|||||||
onPressed: () {
|
onPressed: () {
|
||||||
// if (!Provider.of<PremiumProvider>(context, listen: false)
|
// if (!Provider.of<PremiumProvider>(context, listen: false)
|
||||||
// .hasScope(PremiumScopes.renameSubjects)) {
|
// .hasScope(PremiumScopes.renameSubjects)) {
|
||||||
// PremiumLockedFeatureUpsell.show(
|
// PlusLockedFeaturePopup.show(
|
||||||
// context: context, feature: PremiumFeature.subjectrename);
|
// context: context, feature: PremiumFeature.subjectrename);
|
||||||
// return;
|
// return;
|
||||||
// }
|
// }
|
||||||
@ -60,7 +60,7 @@ class MenuRenamedSubjects extends StatelessWidget {
|
|||||||
onChanged: (v) async {
|
onChanged: (v) async {
|
||||||
// if (!Provider.of<PremiumProvider>(context, listen: false)
|
// if (!Provider.of<PremiumProvider>(context, listen: false)
|
||||||
// .hasScope(PremiumScopes.renameSubjects)) {
|
// .hasScope(PremiumScopes.renameSubjects)) {
|
||||||
// PremiumLockedFeatureUpsell.show(
|
// PlusLockedFeaturePopup.show(
|
||||||
// context: context, feature: PremiumFeature.subjectrename);
|
// context: context, feature: PremiumFeature.subjectrename);
|
||||||
// return;
|
// return;
|
||||||
// }
|
// }
|
||||||
|
@ -411,7 +411,7 @@ class SettingsHelper {
|
|||||||
onPressed: () {
|
onPressed: () {
|
||||||
// if (!Provider.of<PremiumProvider>(context, listen: false)
|
// if (!Provider.of<PremiumProvider>(context, listen: false)
|
||||||
// .hasScope(PremiumScopes.maxTwoAccounts)) {
|
// .hasScope(PremiumScopes.maxTwoAccounts)) {
|
||||||
// PremiumLockedFeatureUpsell.show(
|
// PlusLockedFeaturePopup.show(
|
||||||
// context: context, feature: PremiumFeature.moreAccounts);
|
// context: context, feature: PremiumFeature.moreAccounts);
|
||||||
// return;
|
// return;
|
||||||
// }
|
// }
|
||||||
@ -419,7 +419,7 @@ class SettingsHelper {
|
|||||||
// if ((accountTiles.length - 1 == 2) &&
|
// if ((accountTiles.length - 1 == 2) &&
|
||||||
// !Provider.of<PremiumProvider>(context, listen: false)
|
// !Provider.of<PremiumProvider>(context, listen: false)
|
||||||
// .hasScope(PremiumScopes.noAccountLimit)) {
|
// .hasScope(PremiumScopes.noAccountLimit)) {
|
||||||
// PremiumLockedFeatureUpsell.show(
|
// PlusLockedFeaturePopup.show(
|
||||||
// context: context, feature: PremiumFeature.moreAccounts);
|
// context: context, feature: PremiumFeature.moreAccounts);
|
||||||
// return;
|
// return;
|
||||||
// }
|
// }
|
||||||
|
@ -487,7 +487,7 @@ class SettingsScreenState extends State<SettingsScreen>
|
|||||||
// if (!Provider.of<PremiumProvider>(context,
|
// if (!Provider.of<PremiumProvider>(context,
|
||||||
// listen: false)
|
// listen: false)
|
||||||
// .hasScope(PremiumScopes.maxTwoAccounts)) {
|
// .hasScope(PremiumScopes.maxTwoAccounts)) {
|
||||||
// PremiumLockedFeatureUpsell.show(
|
// PlusLockedFeaturePopup.show(
|
||||||
// context: context,
|
// context: context,
|
||||||
// feature: PremiumFeature.moreAccounts);
|
// feature: PremiumFeature.moreAccounts);
|
||||||
// return;
|
// return;
|
||||||
|
@ -88,7 +88,7 @@ class ExtrasSettingsScreenState extends State<ExtrasSettingsScreen> {
|
|||||||
onPressed: () async {
|
onPressed: () async {
|
||||||
if (!Provider.of<PremiumProvider>(context, listen: false)
|
if (!Provider.of<PremiumProvider>(context, listen: false)
|
||||||
.hasScope(PremiumScopes.customGradeRarities)) {
|
.hasScope(PremiumScopes.customGradeRarities)) {
|
||||||
return PremiumLockedFeatureUpsell.show(
|
return PlusLockedFeaturePopup.show(
|
||||||
context: context,
|
context: context,
|
||||||
feature: PremiumFeature.gradeRarities);
|
feature: PremiumFeature.gradeRarities);
|
||||||
}
|
}
|
||||||
|
@ -671,7 +671,7 @@ class PersonalizeSettingsScreenState extends State<PersonalizeSettingsScreen>
|
|||||||
if (!Provider.of<PremiumProvider>(context,
|
if (!Provider.of<PremiumProvider>(context,
|
||||||
listen: false)
|
listen: false)
|
||||||
.hasScope(PremiumScopes.liveActivityColor)) {
|
.hasScope(PremiumScopes.liveActivityColor)) {
|
||||||
PremiumLockedFeatureUpsell.show(
|
PlusLockedFeaturePopup.show(
|
||||||
context: context,
|
context: context,
|
||||||
feature: PremiumFeature.liveActivity,
|
feature: PremiumFeature.liveActivity,
|
||||||
);
|
);
|
||||||
@ -845,7 +845,7 @@ class PersonalizeSettingsScreenState extends State<PersonalizeSettingsScreen>
|
|||||||
if (!Provider.of<PremiumProvider>(context,
|
if (!Provider.of<PremiumProvider>(context,
|
||||||
listen: false)
|
listen: false)
|
||||||
.hasScope(PremiumScopes.customFont)) {
|
.hasScope(PremiumScopes.customFont)) {
|
||||||
PremiumLockedFeatureUpsell.show(
|
PlusLockedFeaturePopup.show(
|
||||||
context: context,
|
context: context,
|
||||||
feature: PremiumFeature.fontChange);
|
feature: PremiumFeature.fontChange);
|
||||||
return;
|
return;
|
||||||
|
@ -744,7 +744,7 @@ class _PremiumCustomAccentColorSettingState
|
|||||||
// _colorsTabController.animateTo(0,
|
// _colorsTabController.animateTo(0,
|
||||||
// duration: Duration.zero);
|
// duration: Duration.zero);
|
||||||
|
|
||||||
// PremiumLockedFeatureUpsell.show(
|
// PlusLockedFeaturePopup.show(
|
||||||
// context: context,
|
// context: context,
|
||||||
// feature: PremiumFeature
|
// feature: PremiumFeature
|
||||||
// .customcolors);
|
// .customcolors);
|
||||||
|
@ -22,7 +22,7 @@ class UserMenuNickname extends StatelessWidget {
|
|||||||
onPressed: () {
|
onPressed: () {
|
||||||
// if (!Provider.of<PremiumProvider>(context, listen: false)
|
// if (!Provider.of<PremiumProvider>(context, listen: false)
|
||||||
// .hasScope(PremiumScopes.nickname)) {
|
// .hasScope(PremiumScopes.nickname)) {
|
||||||
// PremiumLockedFeatureUpsell.show(
|
// PlusLockedFeaturePopup.show(
|
||||||
// context: context, feature: PremiumFeature.profile);
|
// context: context, feature: PremiumFeature.profile);
|
||||||
// return;
|
// return;
|
||||||
// }
|
// }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user