import 'package:flutter_svg/svg.dart'; import 'package:flutter/material.dart'; enum PremiumFeature { // old things gradestats, customcolors, profile, iconpack, subjectrename, weeklytimetable, widget, // new things moreAccounts, // cap, (ink, sponge) betaReleases, // cap welcomeMessage, // cap selfNotes, // cap gradeCalculation, // ink liveActivity, // ink timetableNotes, // ink iconChange, // sponge fontChange, // sponge goalPlanner, // sponge gradeRarities, calendarSync, gradeExporting, // basic } enum PremiumFeatureLevel { old, cap, ink, sponge, // new new new basic, gold, } const Map _featureLevels = { // old things PremiumFeature.gradestats: PremiumFeatureLevel.old, PremiumFeature.customcolors: PremiumFeatureLevel.old, PremiumFeature.profile: PremiumFeatureLevel.old, PremiumFeature.iconpack: PremiumFeatureLevel.old, PremiumFeature.subjectrename: PremiumFeatureLevel.old, PremiumFeature.weeklytimetable: PremiumFeatureLevel.old, PremiumFeature.widget: PremiumFeatureLevel.old, // new things PremiumFeature.moreAccounts: PremiumFeatureLevel.old, PremiumFeature.betaReleases: PremiumFeatureLevel.old, PremiumFeature.welcomeMessage: PremiumFeatureLevel.old, PremiumFeature.selfNotes: PremiumFeatureLevel.old, PremiumFeature.gradeCalculation: PremiumFeatureLevel.old, PremiumFeature.liveActivity: PremiumFeatureLevel.old, PremiumFeature.timetableNotes: PremiumFeatureLevel.old, PremiumFeature.iconChange: PremiumFeatureLevel.old, PremiumFeature.fontChange: PremiumFeatureLevel.old, PremiumFeature.goalPlanner: PremiumFeatureLevel.old, PremiumFeature.gradeRarities: PremiumFeatureLevel.old, PremiumFeature.calendarSync: PremiumFeatureLevel.old, PremiumFeature.gradeExporting: PremiumFeatureLevel.old, }; const Map _featureTitles = { // old shit PremiumFeature.gradestats: "", PremiumFeature.customcolors: "", PremiumFeature.profile: "", PremiumFeature.iconpack: "", PremiumFeature.subjectrename: "", PremiumFeature.weeklytimetable: "", PremiumFeature.widget: "", // new shit PremiumFeature.moreAccounts: "", PremiumFeature.betaReleases: "", PremiumFeature.welcomeMessage: "", PremiumFeature.selfNotes: "", PremiumFeature.gradeCalculation: "", PremiumFeature.liveActivity: "", PremiumFeature.timetableNotes: "", PremiumFeature.iconChange: "", PremiumFeature.fontChange: "", PremiumFeature.goalPlanner: "", PremiumFeature.gradeRarities: "", PremiumFeature.calendarSync: "", PremiumFeature.gradeExporting: "", }; const Map _featureDescriptions = { // old PremiumFeature.gradestats: "", PremiumFeature.customcolors: "", PremiumFeature.profile: "", PremiumFeature.iconpack: "", PremiumFeature.subjectrename: "", PremiumFeature.weeklytimetable: "", PremiumFeature.widget: "", PremiumFeature.moreAccounts: "", PremiumFeature.betaReleases: "", PremiumFeature.welcomeMessage: "", PremiumFeature.selfNotes: "", PremiumFeature.gradeCalculation: "", PremiumFeature.liveActivity: "", PremiumFeature.timetableNotes: "", PremiumFeature.iconChange: "", PremiumFeature.fontChange: "", PremiumFeature.goalPlanner: "", PremiumFeature.gradeRarities: "", PremiumFeature.calendarSync: "", PremiumFeature.gradeExporting: "", }; class PlusLockedFeaturePopup extends StatelessWidget { const PlusLockedFeaturePopup({super.key, required this.feature}); static void show() { } final PremiumFeature feature; PremiumFeatureLevel? _getFeatureLevel() => _featureLevels[feature]; @override Widget build(BuildContext context) { final bool isGold = _getFeatureLevel() == PremiumFeatureLevel.gold; return SizedBox.shrink(); } }