forked from firka/student-legacy
rename other shit
This commit is contained in:
parent
23563bc4f9
commit
d5127e8a56
8
.gitignore
vendored
8
.gitignore
vendored
@ -27,10 +27,10 @@ refilc_mobile_ui/.flutter-plugins-dependencies
|
||||
refilc_mobile_ui/pubspec.lock
|
||||
refilc_mobile_ui/.dart_tool/
|
||||
|
||||
filcnaplo_premium/.flutter-plugins
|
||||
filcnaplo_premium/.flutter-plugins-dependencies
|
||||
filcnaplo_premium/pubspec.lock
|
||||
filcnaplo_premium/.dart_tool/
|
||||
# filcnaplo_premium/.flutter-plugins
|
||||
# filcnaplo_premium/.flutter-plugins-dependencies
|
||||
# filcnaplo_premium/pubspec.lock
|
||||
# filcnaplo_premium/.dart_tool/
|
||||
|
||||
.vscode
|
||||
.github
|
||||
|
13
changelog.md
13
changelog.md
@ -1,13 +0,0 @@
|
||||
What's new:
|
||||
|
||||
- design tweak
|
||||
- new premium ui
|
||||
- premium fix
|
||||
- rounding fix
|
||||
- graph percentage fix
|
||||
- fail warning
|
||||
- Widget
|
||||
- fix sent messages
|
||||
- fix ios live activities
|
||||
- Hibajavítások 🐛
|
||||
- **Megérkezett a Filc Premium!** ✨
|
@ -57,7 +57,7 @@ import 'package:refilc/api/providers/user_provider.dart';
|
||||
import 'package:refilc/api/providers/update_provider.dart';
|
||||
import 'package:refilc_mobile_ui/pages/grades/calculator/grade_calculator_provider.dart';
|
||||
import 'package:flutter_displaymode/flutter_displaymode.dart';
|
||||
import 'package:refilc_plus/providers/premium_provider.dart';
|
||||
import 'package:refilc_plus/providers/plus_provider.dart';
|
||||
|
||||
class App extends StatelessWidget {
|
||||
final SettingsProvider settings;
|
||||
@ -83,7 +83,7 @@ class App extends StatelessWidget {
|
||||
final kreta = KretaClient(user: user, settings: settings, status: status);
|
||||
final timetable =
|
||||
TimetableProvider(user: user, database: database, kreta: kreta);
|
||||
final premium = PremiumProvider(settings: settings);
|
||||
final premium = PlusProvider(settings: settings);
|
||||
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
FilcAPI.getConfig(settings).then((Config? config) {
|
||||
@ -95,7 +95,7 @@ class App extends StatelessWidget {
|
||||
return MultiProvider(
|
||||
providers: [
|
||||
// refilc providers
|
||||
ChangeNotifierProvider<PremiumProvider>(create: (_) => premium),
|
||||
ChangeNotifierProvider<PlusProvider>(create: (_) => premium),
|
||||
ChangeNotifierProvider<SettingsProvider>(create: (_) => settings),
|
||||
ChangeNotifierProvider<UserProvider>(create: (_) => user),
|
||||
ChangeNotifierProvider<StatusProvider>(create: (_) => status),
|
||||
|
@ -28,7 +28,7 @@ import 'package:refilc_kreta_api/providers/timetable_provider.dart';
|
||||
import 'package:refilc_mobile_ui/common/widgets/cretification/certification_card.dart';
|
||||
import 'package:refilc_mobile_ui/common/widgets/grade/new_grades.dart';
|
||||
import 'package:refilc_mobile_ui/common/widgets/note/note_viewable.dart';
|
||||
import 'package:refilc_plus/providers/premium_provider.dart';
|
||||
import 'package:refilc_plus/providers/plus_provider.dart';
|
||||
import 'package:refilc_plus/ui/mobile/plus/premium_inline.dart';
|
||||
import 'package:refilc_mobile_ui/common/panel/panel.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
@ -195,7 +195,7 @@ Widget filterItemBuilder(
|
||||
bool isBeforeSeparated = false,
|
||||
}) {
|
||||
if (item.key == const Key("\$premium")) {
|
||||
return Provider.of<PremiumProvider>(context, listen: false).hasPremium ||
|
||||
return Provider.of<PlusProvider>(context, listen: false).hasPremium ||
|
||||
DateTime.now().weekday <= 5
|
||||
? const SizedBox()
|
||||
: const Padding(
|
||||
|
@ -29,7 +29,7 @@ import 'package:refilc_mobile_ui/screens/settings/accounts/account_view.dart';
|
||||
import 'package:refilc_mobile_ui/screens/settings/debug/subject_icon_gallery.dart';
|
||||
import 'package:refilc_mobile_ui/screens/settings/privacy_view.dart';
|
||||
import 'package:refilc_mobile_ui/screens/settings/settings_helper.dart';
|
||||
import 'package:refilc_plus/providers/premium_provider.dart';
|
||||
import 'package:refilc_plus/providers/plus_provider.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
@ -254,7 +254,7 @@ class SettingsScreenState extends State<SettingsScreen>
|
||||
// padding: EdgeInsets.symmetric(vertical: 12.0, horizontal: 24.0),
|
||||
// child: PremiumBannerButton(),
|
||||
// ),
|
||||
if (!Provider.of<PremiumProvider>(context).hasPremium)
|
||||
if (!Provider.of<PlusProvider>(context).hasPremium)
|
||||
const ClipRect(
|
||||
child: Padding(
|
||||
padding: EdgeInsets.symmetric(vertical: 12.0),
|
||||
@ -883,14 +883,14 @@ class SettingsScreenState extends State<SettingsScreen>
|
||||
listen: false)
|
||||
.accessToken!)),
|
||||
),
|
||||
// if (Provider.of<PremiumProvider>(context,
|
||||
// if (Provider.of<PlusProvider>(context,
|
||||
// listen: false)
|
||||
// .hasPremium)
|
||||
// PanelButton(
|
||||
// leading: const Icon(FeatherIcons.key),
|
||||
// title: const Text("Remove Premium"),
|
||||
// onPressed: () {
|
||||
// Provider.of<PremiumProvider>(
|
||||
// Provider.of<PlusProvider>(
|
||||
// context,
|
||||
// listen: false)
|
||||
// .activate(removePremium: true);
|
||||
|
@ -10,7 +10,7 @@ import 'package:refilc/ui/widgets/lesson/lesson_tile.dart';
|
||||
import 'package:refilc_mobile_ui/common/widgets/lesson/lesson_view.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:refilc_plus/models/premium_scopes.dart';
|
||||
import 'package:refilc_plus/providers/premium_provider.dart';
|
||||
import 'package:refilc_plus/providers/plus_provider.dart';
|
||||
import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
|
||||
import 'lesson_view.i18n.dart';
|
||||
|
||||
@ -64,7 +64,7 @@ class LessonViewableState extends State<LessonViewable> {
|
||||
onPressed: () {
|
||||
Navigator.of(context, rootNavigator: true).pop();
|
||||
|
||||
if (!Provider.of<PremiumProvider>(context, listen: false)
|
||||
if (!Provider.of<PlusProvider>(context, listen: false)
|
||||
.hasScope(PremiumScopes.timetableNotes)) {
|
||||
PlusLockedFeaturePopup.show(
|
||||
context: context, feature: PremiumFeature.timetableNotes);
|
||||
|
@ -1,6 +1,6 @@
|
||||
import 'package:refilc/theme/colors/colors.dart';
|
||||
// import 'package:refilc_plus/models/premium_scopes.dart';
|
||||
// import 'package:refilc_plus/providers/premium_provider.dart';
|
||||
// import 'package:refilc_plus/providers/plus_provider.dart';
|
||||
// import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:dropdown_button2/dropdown_button2.dart';
|
||||
@ -47,7 +47,7 @@ class AverageSelectorState extends State<AverageSelector> {
|
||||
return DropdownButton2<int>(
|
||||
items: dropdownItems,
|
||||
onChanged: (int? value) {
|
||||
// if (Provider.of<PremiumProvider>(context, listen: false)
|
||||
// if (Provider.of<PlusProvider>(context, listen: false)
|
||||
// .hasScope(PremiumScopes.gradeStats)) {
|
||||
if (widget.onChanged != null) {
|
||||
setState(() {
|
||||
|
@ -27,7 +27,7 @@ import 'package:refilc_mobile_ui/pages/grades/graph.dart';
|
||||
import 'package:refilc_mobile_ui/pages/grades/subject_grades_container.dart';
|
||||
import 'package:refilc_plus/ui/mobile/goal_planner/goal_planner_screen.dart';
|
||||
// import 'package:refilc_plus/models/premium_scopes.dart';
|
||||
// import 'package:refilc_plus/providers/premium_provider.dart';
|
||||
// import 'package:refilc_plus/providers/plus_provider.dart';
|
||||
import 'package:refilc_plus/ui/mobile/goal_planner/goal_state_screen.dart';
|
||||
// import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
@ -299,7 +299,7 @@ class _GradeSubjectViewState extends State<GradeSubjectView> {
|
||||
heroTag: "btn_goal_planner",
|
||||
backgroundColor: Theme.of(context).colorScheme.secondary,
|
||||
onPressed: () {
|
||||
// if (!Provider.of<PremiumProvider>(context, listen: false)
|
||||
// if (!Provider.of<PlusProvider>(context, listen: false)
|
||||
// .hasScope(PremiumScopes.goalPlanner)) {
|
||||
// PlusLockedFeaturePopup.show(
|
||||
// context: context, feature: PremiumFeature.goalplanner);
|
||||
|
@ -33,7 +33,7 @@ import 'package:refilc_mobile_ui/pages/grades/grades_count.dart';
|
||||
import 'package:refilc_mobile_ui/pages/grades/graph.dart';
|
||||
import 'package:refilc_mobile_ui/pages/grades/grade_subject_view.dart';
|
||||
import 'package:refilc_plus/models/premium_scopes.dart';
|
||||
import 'package:refilc_plus/providers/premium_provider.dart';
|
||||
import 'package:refilc_plus/providers/plus_provider.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_feather_icons/flutter_feather_icons.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
@ -385,7 +385,7 @@ class GradesPageState extends State<GradesPage> {
|
||||
));
|
||||
}
|
||||
|
||||
tiles.add(Provider.of<PremiumProvider>(context, listen: false).hasPremium
|
||||
tiles.add(Provider.of<PlusProvider>(context, listen: false).hasPremium
|
||||
? const SizedBox()
|
||||
: const Padding(
|
||||
padding: EdgeInsets.only(top: 24.0),
|
||||
@ -410,7 +410,7 @@ class GradesPageState extends State<GradesPage> {
|
||||
homeworkProvider = Provider.of<HomeworkProvider>(context);
|
||||
examProvider = Provider.of<ExamProvider>(context);
|
||||
|
||||
context.watch<PremiumProvider>();
|
||||
context.watch<PlusProvider>();
|
||||
|
||||
List<String> nameParts = user.displayName?.split(" ") ?? ["?"];
|
||||
firstName = nameParts.length > 1 ? nameParts[1] : nameParts[0];
|
||||
@ -519,8 +519,7 @@ class GradesPageState extends State<GradesPage> {
|
||||
child: IconButton(
|
||||
splashRadius: 24.0,
|
||||
onPressed: () {
|
||||
if (!Provider.of<PremiumProvider>(context,
|
||||
listen: false)
|
||||
if (!Provider.of<PlusProvider>(context, listen: false)
|
||||
.hasScope(PremiumScopes.totalGradeCalculator)) {
|
||||
PlusLockedFeaturePopup.show(
|
||||
context: context,
|
||||
|
@ -10,7 +10,7 @@ import 'package:refilc/utils/format.dart';
|
||||
import 'package:i18n_extension/i18n_extension.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:refilc_mobile_ui/pages/messages/messages_page.dart';
|
||||
import 'package:refilc_plus/providers/premium_provider.dart';
|
||||
import 'package:refilc_plus/providers/plus_provider.dart';
|
||||
import 'package:animated_list_plus/animated_list_plus.dart';
|
||||
import 'package:refilc/api/providers/update_provider.dart';
|
||||
import 'package:refilc/api/providers/sync.dart';
|
||||
@ -176,7 +176,7 @@ class HomePageState extends State<HomePage> with TickerProviderStateMixin {
|
||||
updateProvider = Provider.of<UpdateProvider>(context);
|
||||
_liveCard = Provider.of<LiveCardProvider>(context);
|
||||
gradeProvider = Provider.of<GradeProvider>(context);
|
||||
context.watch<PremiumProvider>();
|
||||
context.watch<PlusProvider>();
|
||||
|
||||
_liveCardAnimation.animateTo(_liveCard.show ? 1.0 : 0.0);
|
||||
|
||||
|
@ -26,7 +26,7 @@ import 'package:refilc_mobile_ui/screens/notes/add_note_screen.dart';
|
||||
import 'package:refilc_mobile_ui/screens/notes/note_view_screen.dart';
|
||||
import 'package:refilc_mobile_ui/screens/notes/self_note_tile.dart';
|
||||
import 'package:refilc_plus/models/premium_scopes.dart';
|
||||
import 'package:refilc_plus/providers/premium_provider.dart';
|
||||
import 'package:refilc_plus/providers/plus_provider.dart';
|
||||
import 'package:refilc_plus/ui/mobile/plus/premium_inline.dart';
|
||||
import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
|
||||
import 'notes_page.i18n.dart';
|
||||
@ -76,7 +76,7 @@ class NotesPageState extends State<NotesPage> with TickerProviderStateMixin {
|
||||
List<Widget> toDoTiles = [];
|
||||
|
||||
if (hw.isNotEmpty &&
|
||||
!Provider.of<PremiumProvider>(context, listen: false)
|
||||
!Provider.of<PlusProvider>(context, listen: false)
|
||||
.hasScope(PremiumScopes.unlimitedSelfNotes)) {
|
||||
toDoTiles.addAll(hw.map((e) => TickTile(
|
||||
padding: EdgeInsets.zero,
|
||||
@ -154,7 +154,7 @@ class NotesPageState extends State<NotesPage> with TickerProviderStateMixin {
|
||||
);
|
||||
}
|
||||
|
||||
tiles.add(Provider.of<PremiumProvider>(context, listen: false).hasPremium
|
||||
tiles.add(Provider.of<PlusProvider>(context, listen: false).hasPremium
|
||||
? const SizedBox()
|
||||
: const Padding(
|
||||
padding: EdgeInsets.only(top: 24.0),
|
||||
@ -219,8 +219,7 @@ class NotesPageState extends State<NotesPage> with TickerProviderStateMixin {
|
||||
GestureDetector(
|
||||
onTap: () async {
|
||||
// handle tap
|
||||
if (!Provider.of<PremiumProvider>(context,
|
||||
listen: false)
|
||||
if (!Provider.of<PlusProvider>(context, listen: false)
|
||||
.hasScope(PremiumScopes.unlimitedSelfNotes) &&
|
||||
noteTiles.length > 10) {
|
||||
return PlusLockedFeaturePopup.show(
|
||||
|
@ -31,7 +31,7 @@ import 'package:flutter_feather_icons/flutter_feather_icons.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:refilc_plus/models/premium_scopes.dart';
|
||||
import 'package:refilc_plus/providers/premium_provider.dart';
|
||||
import 'package:refilc_plus/providers/plus_provider.dart';
|
||||
import 'timetable_page.i18n.dart';
|
||||
|
||||
// todo: "fix" overflow (priority: -1)
|
||||
@ -155,8 +155,8 @@ class TimetablePageState extends State<TimetablePage>
|
||||
|
||||
// push timetable to calendar
|
||||
if (mounted) {
|
||||
if (Provider.of<PremiumProvider>(context, listen: false).hasPremium &&
|
||||
Provider.of<PremiumProvider>(context, listen: false)
|
||||
if (Provider.of<PlusProvider>(context, listen: false).hasPremium &&
|
||||
Provider.of<PlusProvider>(context, listen: false)
|
||||
.hasScope(PremiumScopes.calendarSync)) {
|
||||
Provider.of<ThirdPartyProvider>(context, listen: false)
|
||||
.pushTimetable(context, _controller);
|
||||
|
@ -1,7 +1,7 @@
|
||||
import 'package:refilc/icons/filc_icons.dart';
|
||||
import 'package:refilc_mobile_ui/plus/plus_screen.dart';
|
||||
import 'package:refilc_plus/models/premium_scopes.dart';
|
||||
import 'package:refilc_plus/providers/premium_provider.dart';
|
||||
import 'package:refilc_plus/providers/plus_provider.dart';
|
||||
import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/svg.dart';
|
||||
@ -44,7 +44,7 @@ class ActiveSponsorCard extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final premium = Provider.of<PremiumProvider>(context, listen: false);
|
||||
final premium = Provider.of<PlusProvider>(context, listen: false);
|
||||
final level = estimateLevel(premium.scopes);
|
||||
|
||||
if (level == null) {
|
||||
|
@ -1,6 +1,6 @@
|
||||
// import 'package:refilc/api/client.dart';
|
||||
// import 'package:refilc/theme/colors/colors.dart';
|
||||
import 'package:refilc_plus/providers/premium_provider.dart';
|
||||
import 'package:refilc_plus/providers/plus_provider.dart';
|
||||
// import 'package:refilc_plus/ui/mobile/plus/activation_view/activation_view.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_feather_icons/flutter_feather_icons.dart';
|
||||
@ -12,7 +12,7 @@ class GithubLoginButton extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final premium = Provider.of<PremiumProvider>(context);
|
||||
final premium = Provider.of<PlusProvider>(context);
|
||||
|
||||
return Card(
|
||||
margin: EdgeInsets.zero,
|
||||
|
@ -1,5 +1,5 @@
|
||||
import 'package:refilc/theme/colors/colors.dart';
|
||||
import 'package:refilc_plus/providers/premium_provider.dart';
|
||||
import 'package:refilc_plus/providers/plus_provider.dart';
|
||||
// import 'package:refilc_plus/ui/mobile/plus/activation_view/activation_view.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_feather_icons/flutter_feather_icons.dart';
|
||||
@ -11,7 +11,7 @@ class GithubConnectButton extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final premium = Provider.of<PremiumProvider>(context);
|
||||
final premium = Provider.of<PlusProvider>(context);
|
||||
|
||||
return Card(
|
||||
margin: EdgeInsets.zero,
|
||||
|
@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:refilc_plus/providers/premium_provider.dart';
|
||||
import 'package:refilc_plus/providers/plus_provider.dart';
|
||||
import 'package:refilc_plus/ui/mobile/plus/activation_view/activation_view.dart';
|
||||
import 'package:refilc_mobile_ui/plus/plus_screen.i18n.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
@ -35,7 +35,7 @@ class PlusPlanCard extends StatelessWidget {
|
||||
Widget build(BuildContext context) {
|
||||
return GestureDetector(
|
||||
onTap: () {
|
||||
if (Provider.of<PremiumProvider>(context, listen: false).hasPremium) {
|
||||
if (Provider.of<PlusProvider>(context, listen: false).hasPremium) {
|
||||
if (!active) {
|
||||
launchUrl(
|
||||
Uri.parse(
|
||||
|
@ -4,7 +4,7 @@ import 'package:refilc_mobile_ui/plus/components/plan_card.dart';
|
||||
import 'package:flutter_feather_icons/flutter_feather_icons.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:refilc_plus/providers/premium_provider.dart';
|
||||
import 'package:refilc_plus/providers/plus_provider.dart';
|
||||
import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
|
||||
|
||||
import 'components/active_sponsor_card.dart';
|
||||
@ -202,7 +202,7 @@ class PlusScreenState extends State<PlusScreen> {
|
||||
),
|
||||
PlusPlanCard(
|
||||
active: ActiveSponsorCard.estimateLevel(
|
||||
context.watch<PremiumProvider>().scopes) ==
|
||||
context.watch<PlusProvider>().scopes) ==
|
||||
PremiumFeatureLevel.cap,
|
||||
iconPath: 'assets/images/plus_tier_cap.png',
|
||||
title: 'reFilc+',
|
||||
@ -229,7 +229,7 @@ class PlusScreenState extends State<PlusScreen> {
|
||||
),
|
||||
PlusPlanCard(
|
||||
active: ActiveSponsorCard.estimateLevel(
|
||||
context.watch<PremiumProvider>().scopes) ==
|
||||
context.watch<PlusProvider>().scopes) ==
|
||||
PremiumFeatureLevel.ink,
|
||||
iconPath: 'assets/images/plus_tier_ink.png',
|
||||
title: 'reFilc+ Gold',
|
||||
@ -261,7 +261,7 @@ class PlusScreenState extends State<PlusScreen> {
|
||||
// ),
|
||||
// PlusPlanCard(
|
||||
// active: ActiveSponsorCard.estimateLevel(
|
||||
// context.watch<PremiumProvider>().scopes) ==
|
||||
// context.watch<PlusProvider>().scopes) ==
|
||||
// PremiumFeatureLevel.sponge,
|
||||
// iconPath: 'assets/images/plus_tier_sponge.png',
|
||||
// title: 'Szivacs',
|
||||
|
@ -16,7 +16,7 @@ import 'package:refilc_mobile_ui/screens/notes/note_view_screen.dart';
|
||||
import 'package:refilc_mobile_ui/screens/notes/notes_screen.i18n.dart';
|
||||
import 'package:refilc_mobile_ui/screens/notes/self_note_tile.dart';
|
||||
import 'package:refilc_plus/models/premium_scopes.dart';
|
||||
import 'package:refilc_plus/providers/premium_provider.dart';
|
||||
import 'package:refilc_plus/providers/plus_provider.dart';
|
||||
import 'package:refilc_plus/ui/mobile/plus/premium_inline.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
@ -61,7 +61,7 @@ class NotesScreenState extends State<NotesScreen> {
|
||||
List<Widget> toDoTiles = [];
|
||||
|
||||
if (hw.isNotEmpty &&
|
||||
Provider.of<PremiumProvider>(context, listen: false)
|
||||
Provider.of<PlusProvider>(context, listen: false)
|
||||
.hasScope(PremiumScopes.unlimitedSelfNotes)) {
|
||||
toDoTiles.addAll(hw.map((e) => TickTile(
|
||||
padding: EdgeInsets.zero,
|
||||
@ -135,7 +135,7 @@ class NotesScreenState extends State<NotesScreen> {
|
||||
);
|
||||
}
|
||||
|
||||
tiles.add(Provider.of<PremiumProvider>(context, listen: false).hasPremium
|
||||
tiles.add(Provider.of<PlusProvider>(context, listen: false).hasPremium
|
||||
? const SizedBox()
|
||||
: const Padding(
|
||||
padding: EdgeInsets.only(top: 24.0),
|
||||
@ -213,7 +213,7 @@ class NotesScreenState extends State<NotesScreen> {
|
||||
child: GestureDetector(
|
||||
onTap: () {
|
||||
// handle tap
|
||||
if (!Provider.of<PremiumProvider>(context, listen: false)
|
||||
if (!Provider.of<PlusProvider>(context, listen: false)
|
||||
.hasScope(PremiumScopes.unlimitedSelfNotes) &&
|
||||
noteTiles.length > 10) {
|
||||
return PlusLockedFeaturePopup.show(
|
||||
|
@ -6,7 +6,7 @@ import 'package:refilc/theme/colors/colors.dart';
|
||||
// import 'package:refilc_kreta_api/models/teacher.dart';
|
||||
import 'package:refilc_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/providers/plus_provider.dart';
|
||||
// import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
@ -14,7 +14,7 @@ import 'package:refilc_kreta_api/providers/timetable_provider.dart';
|
||||
import 'package:refilc_mobile_ui/common/panel/panel.dart';
|
||||
import 'package:refilc_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/providers/plus_provider.dart';
|
||||
// import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
@ -33,7 +33,7 @@ class MenuRenamedSubjects extends StatelessWidget {
|
||||
return PanelButton(
|
||||
padding: const EdgeInsets.only(left: 14.0),
|
||||
onPressed: () {
|
||||
// if (!Provider.of<PremiumProvider>(context, listen: false)
|
||||
// if (!Provider.of<PlusProvider>(context, listen: false)
|
||||
// .hasScope(PremiumScopes.renameSubjects)) {
|
||||
// PlusLockedFeaturePopup.show(
|
||||
// context: context, feature: PremiumFeature.subjectrename);
|
||||
@ -58,7 +58,7 @@ class MenuRenamedSubjects extends StatelessWidget {
|
||||
trailingDivider: true,
|
||||
trailing: Switch(
|
||||
onChanged: (v) async {
|
||||
// if (!Provider.of<PremiumProvider>(context, listen: false)
|
||||
// if (!Provider.of<PlusProvider>(context, listen: false)
|
||||
// .hasScope(PremiumScopes.renameSubjects)) {
|
||||
// PlusLockedFeaturePopup.show(
|
||||
// context: context, feature: PremiumFeature.subjectrename);
|
||||
|
@ -37,7 +37,7 @@ import 'package:refilc/models/icon_pack.dart';
|
||||
import 'package:refilc/utils/format.dart';
|
||||
import 'package:refilc_mobile_ui/screens/settings/theme_screen.dart';
|
||||
// import 'package:refilc_plus/models/premium_scopes.dart';
|
||||
// import 'package:refilc_plus/providers/premium_provider.dart';
|
||||
// import 'package:refilc_plus/providers/plus_provider.dart';
|
||||
// import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
|
||||
import 'package:refilc_plus/ui/mobile/settings/settings_helper.dart';
|
||||
|
||||
@ -409,7 +409,7 @@ class SettingsHelper {
|
||||
} else if (index == accountTiles.length + 1) {
|
||||
return PanelButton(
|
||||
onPressed: () {
|
||||
// if (!Provider.of<PremiumProvider>(context, listen: false)
|
||||
// if (!Provider.of<PlusProvider>(context, listen: false)
|
||||
// .hasScope(PremiumScopes.maxTwoAccounts)) {
|
||||
// PlusLockedFeaturePopup.show(
|
||||
// context: context, feature: PremiumFeature.moreAccounts);
|
||||
@ -417,7 +417,7 @@ class SettingsHelper {
|
||||
// }
|
||||
|
||||
// if ((accountTiles.length - 1 == 2) &&
|
||||
// !Provider.of<PremiumProvider>(context, listen: false)
|
||||
// !Provider.of<PlusProvider>(context, listen: false)
|
||||
// .hasScope(PremiumScopes.noAccountLimit)) {
|
||||
// PlusLockedFeaturePopup.show(
|
||||
// context: context, feature: PremiumFeature.moreAccounts);
|
||||
|
@ -44,7 +44,7 @@ import 'package:refilc_mobile_ui/screens/settings/submenu/extras_screen.dart';
|
||||
import 'package:refilc_mobile_ui/screens/settings/submenu/personalize_screen.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
// import 'package:refilc_plus/models/premium_scopes.dart';
|
||||
import 'package:refilc_plus/providers/premium_provider.dart';
|
||||
import 'package:refilc_plus/providers/plus_provider.dart';
|
||||
// import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
|
||||
// import 'package:refilc_plus/ui/mobile/settings/app_icon_screen.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
@ -485,7 +485,7 @@ class SettingsScreenState extends State<SettingsScreen>
|
||||
// // add account panel
|
||||
// PanelButton(
|
||||
// onPressed: () {
|
||||
// if (!Provider.of<PremiumProvider>(context,
|
||||
// if (!Provider.of<PlusProvider>(context,
|
||||
// listen: false)
|
||||
// .hasScope(PremiumScopes.maxTwoAccounts)) {
|
||||
// PlusLockedFeaturePopup.show(
|
||||
@ -559,7 +559,7 @@ class SettingsScreenState extends State<SettingsScreen>
|
||||
// padding: EdgeInsets.symmetric(vertical: 12.0, horizontal: 24.0),
|
||||
// child: PremiumBannerButton(),
|
||||
// ),
|
||||
// if (!context.watch<PremiumProvider>().hasPremium)
|
||||
// if (!context.watch<PlusProvider>().hasPremium)
|
||||
// const ClipRect(
|
||||
// child: Padding(
|
||||
// padding: EdgeInsets.symmetric(vertical: 12.0),
|
||||
@ -1087,11 +1087,10 @@ class SettingsScreenState extends State<SettingsScreen>
|
||||
PanelButton(
|
||||
borderRadius: BorderRadius.vertical(
|
||||
top: const Radius.circular(4.0),
|
||||
bottom:
|
||||
Provider.of<PremiumProvider>(context, listen: false)
|
||||
.hasPremium
|
||||
? const Radius.circular(4.0)
|
||||
: const Radius.circular(12.0),
|
||||
bottom: Provider.of<PlusProvider>(context, listen: false)
|
||||
.hasPremium
|
||||
? const Radius.circular(4.0)
|
||||
: const Radius.circular(12.0),
|
||||
),
|
||||
leading: Icon(
|
||||
FeatherIcons.copy,
|
||||
@ -1103,7 +1102,7 @@ class SettingsScreenState extends State<SettingsScreen>
|
||||
text: Provider.of<KretaClient>(context, listen: false)
|
||||
.accessToken!)),
|
||||
),
|
||||
if (Provider.of<PremiumProvider>(context, listen: false)
|
||||
if (Provider.of<PlusProvider>(context, listen: false)
|
||||
.hasPremium)
|
||||
PanelButton(
|
||||
borderRadius: const BorderRadius.vertical(
|
||||
@ -1117,7 +1116,7 @@ class SettingsScreenState extends State<SettingsScreen>
|
||||
),
|
||||
title: const Text("Remove Premium"),
|
||||
onPressed: () {
|
||||
Provider.of<PremiumProvider>(context, listen: false)
|
||||
Provider.of<PlusProvider>(context, listen: false)
|
||||
.activate(removePremium: true);
|
||||
settings.update(
|
||||
accentColor: AccentColor.filc, store: true);
|
||||
|
@ -11,7 +11,7 @@ import 'package:flutter_feather_icons/flutter_feather_icons.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:refilc_plus/ui/mobile/settings/submenu/calendar_sync.dart';
|
||||
import 'package:refilc_plus/models/premium_scopes.dart';
|
||||
import 'package:refilc_plus/providers/premium_provider.dart';
|
||||
import 'package:refilc_plus/providers/plus_provider.dart';
|
||||
import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
|
||||
import 'package:refilc_plus/ui/mobile/settings/welcome_message.dart';
|
||||
// import 'package:provider/provider.dart';
|
||||
@ -86,7 +86,7 @@ class ExtrasSettingsScreenState extends State<ExtrasSettingsScreen> {
|
||||
PanelButton(
|
||||
padding: const EdgeInsets.only(left: 14.0, right: 6.0),
|
||||
onPressed: () async {
|
||||
if (!Provider.of<PremiumProvider>(context, listen: false)
|
||||
if (!Provider.of<PlusProvider>(context, listen: false)
|
||||
.hasScope(PremiumScopes.customGradeRarities)) {
|
||||
return PlusLockedFeaturePopup.show(
|
||||
context: context,
|
||||
|
@ -26,7 +26,7 @@ import 'package:flutter_feather_icons/flutter_feather_icons.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:refilc_mobile_ui/screens/settings/settings_screen.i18n.dart';
|
||||
import 'package:refilc_plus/models/premium_scopes.dart';
|
||||
import 'package:refilc_plus/providers/premium_provider.dart';
|
||||
import 'package:refilc_plus/providers/plus_provider.dart';
|
||||
import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
|
||||
@ -670,7 +670,7 @@ class PersonalizeSettingsScreenState extends State<PersonalizeSettingsScreen>
|
||||
children: [
|
||||
PanelButton(
|
||||
onPressed: () {
|
||||
if (!Provider.of<PremiumProvider>(context,
|
||||
if (!Provider.of<PlusProvider>(context,
|
||||
listen: false)
|
||||
.hasScope(PremiumScopes.liveActivityColor)) {
|
||||
PlusLockedFeaturePopup.show(
|
||||
@ -886,8 +886,7 @@ class PersonalizeSettingsScreenState extends State<PersonalizeSettingsScreen>
|
||||
children: [
|
||||
PanelButton(
|
||||
onPressed: () {
|
||||
if (!Provider.of<PremiumProvider>(context,
|
||||
listen: false)
|
||||
if (!Provider.of<PlusProvider>(context, listen: false)
|
||||
.hasScope(PremiumScopes.customFont)) {
|
||||
PlusLockedFeaturePopup.show(
|
||||
context: context,
|
||||
|
@ -16,7 +16,7 @@ import 'package:refilc_mobile_ui/common/panel/panel.dart';
|
||||
import 'package:refilc_mobile_ui/common/widgets/grade/new_grades.dart';
|
||||
import 'package:refilc_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/providers/plus_provider.dart';
|
||||
import 'package:refilc_kreta_api/providers/share_provider.dart';
|
||||
import 'package:refilc/ui/flutter_colorpicker/colorpicker.dart';
|
||||
// import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
|
||||
@ -223,7 +223,7 @@ class _PremiumCustomAccentColorSettingState
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
// bool hasAccess = Provider.of<PremiumProvider>(context)
|
||||
// bool hasAccess = Provider.of<PlusProvider>(context)
|
||||
// .hasScope(PremiumScopes.customColors);
|
||||
bool hasAccess = true;
|
||||
bool isBackgroundDifferent = Theme.of(context).colorScheme.background !=
|
||||
|
@ -3,7 +3,7 @@ import 'package:refilc/api/providers/user_provider.dart';
|
||||
import 'package:refilc/models/user.dart';
|
||||
import 'package:refilc_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/providers/plus_provider.dart';
|
||||
// import 'package:refilc_plus/ui/mobile/plus/upsell.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_feather_icons/flutter_feather_icons.dart';
|
||||
@ -20,7 +20,7 @@ class UserMenuNickname extends StatelessWidget {
|
||||
Widget build(BuildContext context) {
|
||||
return BottomSheetMenuItem(
|
||||
onPressed: () {
|
||||
// if (!Provider.of<PremiumProvider>(context, listen: false)
|
||||
// if (!Provider.of<PlusProvider>(context, listen: false)
|
||||
// .hasScope(PremiumScopes.nickname)) {
|
||||
// PlusLockedFeaturePopup.show(
|
||||
// context: context, feature: PremiumFeature.profile);
|
||||
|
@ -9,7 +9,7 @@ import 'package:refilc/api/providers/user_provider.dart';
|
||||
import 'package:refilc/models/user.dart';
|
||||
import 'package:refilc_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/providers/plus_provider.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_feather_icons/flutter_feather_icons.dart';
|
||||
@ -26,7 +26,7 @@ class UserMenuProfilePic extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
// if (!Provider.of<PremiumProvider>(context)
|
||||
// if (!Provider.of<PlusProvider>(context)
|
||||
// .hasScope(PremiumScopes.nickname)) {
|
||||
// return const SizedBox();
|
||||
// }
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit cfd34a7faeb1a418bc7542951636481e23f4fdd6
|
||||
Subproject commit 04b917c65351814cfd073bc76bd5e026f8d4dfbb
|
Loading…
x
Reference in New Issue
Block a user