ProSettingsOverlay -> ProOverlay

Also move it to its own file
This commit is contained in:
Vishesh Handa
2020-05-14 16:10:09 +02:00
parent 5c04bf204e
commit ef57e263ba
5 changed files with 35 additions and 31 deletions

View File

@ -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')),

View File

@ -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<SettingsEditorsScreen> {
},
),
SettingsHeader("Journal Editor"),
ProSettingOverlay(
ProOverlay(
child: ListTile(
title: const Text("Default Folder"),
subtitle: Text(defaultNewFolder),

View File

@ -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<SettingsList> {
dynamicTheme.setBrightness(b);
},
),
ProSettingOverlay(
ProOverlay(
child: ListPreference(
title: tr('settings.display.homeScreen'),
currentOption: settings.homeScreen.toPublicString(),

View File

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

View File

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