From ef57e263baec30e5df40c8200d13ba599e01a860 Mon Sep 17 00:00:00 2001 From: Vishesh Handa Date: Thu, 14 May 2020 16:10:09 +0200 Subject: [PATCH] ProSettingsOverlay -> ProOverlay Also move it to its own file --- lib/editors/common.dart | 4 ++-- lib/screens/settings_editors.dart | 3 ++- lib/screens/settings_screen.dart | 3 ++- lib/screens/settings_widgets.dart | 27 --------------------------- lib/widgets/pro_overlay.dart | 29 +++++++++++++++++++++++++++++ 5 files changed, 35 insertions(+), 31 deletions(-) create mode 100644 lib/widgets/pro_overlay.dart diff --git a/lib/editors/common.dart b/lib/editors/common.dart index b4403904..222987d9 100644 --- a/lib/editors/common.dart +++ b/lib/editors/common.dart @@ -6,7 +6,7 @@ import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:gitjournal/core/note.dart'; import 'package:gitjournal/core/notes_folder_fs.dart'; import 'package:gitjournal/error_reporting.dart'; -import 'package:gitjournal/screens/settings_widgets.dart'; +import 'package:gitjournal/widgets/pro_overlay.dart'; import 'package:share/share.dart'; import 'package:image_picker/image_picker.dart'; @@ -230,7 +230,7 @@ Widget _buildBottomMenuSheet( Share.share(note.body); }, ), - ProSettingOverlay( + ProOverlay( child: ListTile( leading: const FaIcon(FontAwesomeIcons.tag), title: Text(tr('editors.common.tags')), diff --git a/lib/screens/settings_editors.dart b/lib/screens/settings_editors.dart index d278d6a0..7643ce7b 100644 --- a/lib/screens/settings_editors.dart +++ b/lib/screens/settings_editors.dart @@ -4,6 +4,7 @@ import 'package:gitjournal/settings.dart'; import 'package:gitjournal/screens/settings_widgets.dart'; import 'package:gitjournal/core/notes_folder_fs.dart'; import 'package:gitjournal/widgets/folder_selection_dialog.dart'; +import 'package:gitjournal/widgets/pro_overlay.dart'; class SettingsEditorsScreen extends StatefulWidget { @override @@ -48,7 +49,7 @@ class SettingsEditorsScreenState extends State { }, ), SettingsHeader("Journal Editor"), - ProSettingOverlay( + ProOverlay( child: ListTile( title: const Text("Default Folder"), subtitle: Text(defaultNewFolder), diff --git a/lib/screens/settings_screen.dart b/lib/screens/settings_screen.dart index 421a0b72..26b19b91 100644 --- a/lib/screens/settings_screen.dart +++ b/lib/screens/settings_screen.dart @@ -13,6 +13,7 @@ import 'package:gitjournal/screens/settings_note_metadata.dart'; import 'package:dynamic_theme/dynamic_theme.dart'; import 'package:gitjournal/widgets/folder_selection_dialog.dart'; +import 'package:gitjournal/widgets/pro_overlay.dart'; import 'package:provider/provider.dart'; class SettingsScreen extends StatelessWidget { @@ -142,7 +143,7 @@ class SettingsListState extends State { dynamicTheme.setBrightness(b); }, ), - ProSettingOverlay( + ProOverlay( child: ListPreference( title: tr('settings.display.homeScreen'), currentOption: settings.homeScreen.toPublicString(), diff --git a/lib/screens/settings_widgets.dart b/lib/screens/settings_widgets.dart index 169b2560..67fea13d 100644 --- a/lib/screens/settings_widgets.dart +++ b/lib/screens/settings_widgets.dart @@ -1,6 +1,4 @@ -import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; -import 'package:gitjournal/settings.dart'; class ListPreference extends StatelessWidget { final String title; @@ -64,31 +62,6 @@ class ListPreference extends StatelessWidget { } } -class ProSettingOverlay extends StatelessWidget { - final Widget child; - - ProSettingOverlay({@required this.child}); - - @override - Widget build(BuildContext context) { - if (Settings.instance.proMode) { - return child; - } - return GestureDetector( - behavior: HitTestBehavior.opaque, - child: Banner( - message: tr('pro'), - location: BannerLocation.topEnd, - color: Theme.of(context).accentColor, - child: IgnorePointer(child: Opacity(opacity: 0.5, child: child)), - ), - onTap: () { - Navigator.pushNamed(context, "/purchase"); - }, - ); - } -} - class LabeledRadio extends StatelessWidget { const LabeledRadio({ this.label, diff --git a/lib/widgets/pro_overlay.dart b/lib/widgets/pro_overlay.dart new file mode 100644 index 00000000..9b9d9fb8 --- /dev/null +++ b/lib/widgets/pro_overlay.dart @@ -0,0 +1,29 @@ +import 'package:flutter/material.dart'; +import 'package:easy_localization/easy_localization.dart'; + +import 'package:gitjournal/settings.dart'; + +class ProOverlay extends StatelessWidget { + final Widget child; + + ProOverlay({@required this.child}); + + @override + Widget build(BuildContext context) { + if (Settings.instance.proMode) { + return child; + } + return GestureDetector( + behavior: HitTestBehavior.opaque, + child: Banner( + message: tr('pro'), + location: BannerLocation.topEnd, + color: Theme.of(context).accentColor, + child: IgnorePointer(child: Opacity(opacity: 0.5, child: child)), + ), + onTap: () { + Navigator.pushNamed(context, "/purchase"); + }, + ); + } +}