completed new plus popup when feature unavailable :3

This commit is contained in:
Kima 2024-03-23 22:41:20 +01:00
parent 1757e16dea
commit 161f61ea96
20 changed files with 70 additions and 24 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View 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

View File

@ -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

View File

@ -52,14 +52,19 @@ Future<T?> showRoundedModalBottomSheet<T>(
BuildContext context, {
required Widget child,
bool rootNavigator = true,
bool showHandle = true,
}) async {
return await showModalBottomSheet<T>(
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(

View File

@ -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"
}
};

View File

@ -55,7 +55,7 @@ class AverageSelectorState extends State<AverageSelector> {
});
}
// } else {
// PremiumLockedFeatureUpsell.show(
// PlusLockedFeaturePopup.show(
// context: context, feature: PremiumFeature.gradestats);
// }
},

View File

@ -248,7 +248,7 @@ class _GradeSubjectViewState extends State<GradeSubjectView> {
onPressed: () {
// if (!Provider.of<PremiumProvider>(context, listen: false)
// .hasScope(PremiumScopes.goalPlanner)) {
// PremiumLockedFeatureUpsell.show(
// PlusLockedFeaturePopup.show(
// context: context, feature: PremiumFeature.goalplanner);
// return;
// }

View File

@ -515,7 +515,7 @@ class GradesPageState extends State<GradesPage> {
if (!Provider.of<PremiumProvider>(context,
listen: false)
.hasScope(PremiumScopes.totalGradeCalculator)) {
PremiumLockedFeatureUpsell.show(
PlusLockedFeaturePopup.show(
context: context,
feature: PremiumFeature.gradeCalculation);
return;

View File

@ -223,7 +223,7 @@ class NotesPageState extends State<NotesPage> with TickerProviderStateMixin {
listen: false)
.hasScope(PremiumScopes.unlimitedSelfNotes) &&
noteTiles.length > 10) {
return PremiumLockedFeatureUpsell.show(
return PlusLockedFeaturePopup.show(
context: context,
feature: PremiumFeature.selfNotes);
}

View File

@ -216,7 +216,7 @@ class NotesScreenState extends State<NotesScreen> {
if (!Provider.of<PremiumProvider>(context, listen: false)
.hasScope(PremiumScopes.unlimitedSelfNotes) &&
noteTiles.length > 10) {
return PremiumLockedFeatureUpsell.show(
return PlusLockedFeaturePopup.show(
context: context, feature: PremiumFeature.selfNotes);
}

View File

@ -35,7 +35,7 @@ class MenuRenamedSubjects extends StatelessWidget {
onPressed: () {
// if (!Provider.of<PremiumProvider>(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<PremiumProvider>(context, listen: false)
// .hasScope(PremiumScopes.renameSubjects)) {
// PremiumLockedFeatureUpsell.show(
// PlusLockedFeaturePopup.show(
// context: context, feature: PremiumFeature.subjectrename);
// return;
// }

View File

@ -411,7 +411,7 @@ class SettingsHelper {
onPressed: () {
// if (!Provider.of<PremiumProvider>(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<PremiumProvider>(context, listen: false)
// .hasScope(PremiumScopes.noAccountLimit)) {
// PremiumLockedFeatureUpsell.show(
// PlusLockedFeaturePopup.show(
// context: context, feature: PremiumFeature.moreAccounts);
// return;
// }

View File

@ -487,7 +487,7 @@ class SettingsScreenState extends State<SettingsScreen>
// if (!Provider.of<PremiumProvider>(context,
// listen: false)
// .hasScope(PremiumScopes.maxTwoAccounts)) {
// PremiumLockedFeatureUpsell.show(
// PlusLockedFeaturePopup.show(
// context: context,
// feature: PremiumFeature.moreAccounts);
// return;

View File

@ -88,7 +88,7 @@ class ExtrasSettingsScreenState extends State<ExtrasSettingsScreen> {
onPressed: () async {
if (!Provider.of<PremiumProvider>(context, listen: false)
.hasScope(PremiumScopes.customGradeRarities)) {
return PremiumLockedFeatureUpsell.show(
return PlusLockedFeaturePopup.show(
context: context,
feature: PremiumFeature.gradeRarities);
}

View File

@ -671,7 +671,7 @@ class PersonalizeSettingsScreenState extends State<PersonalizeSettingsScreen>
if (!Provider.of<PremiumProvider>(context,
listen: false)
.hasScope(PremiumScopes.liveActivityColor)) {
PremiumLockedFeatureUpsell.show(
PlusLockedFeaturePopup.show(
context: context,
feature: PremiumFeature.liveActivity,
);
@ -845,7 +845,7 @@ class PersonalizeSettingsScreenState extends State<PersonalizeSettingsScreen>
if (!Provider.of<PremiumProvider>(context,
listen: false)
.hasScope(PremiumScopes.customFont)) {
PremiumLockedFeatureUpsell.show(
PlusLockedFeaturePopup.show(
context: context,
feature: PremiumFeature.fontChange);
return;

View File

@ -744,7 +744,7 @@ class _PremiumCustomAccentColorSettingState
// _colorsTabController.animateTo(0,
// duration: Duration.zero);
// PremiumLockedFeatureUpsell.show(
// PlusLockedFeaturePopup.show(
// context: context,
// feature: PremiumFeature
// .customcolors);

View File

@ -22,7 +22,7 @@ class UserMenuNickname extends StatelessWidget {
onPressed: () {
// if (!Provider.of<PremiumProvider>(context, listen: false)
// .hasScope(PremiumScopes.nickname)) {
// PremiumLockedFeatureUpsell.show(
// PlusLockedFeaturePopup.show(
// context: context, feature: PremiumFeature.profile);
// return;
// }