mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-06-29 10:17:16 +08:00
ProSettingsOverlay -> ProOverlay
Also move it to its own file
This commit is contained in:
@ -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')),
|
||||
|
@ -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),
|
||||
|
@ -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(),
|
||||
|
@ -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,
|
||||
|
29
lib/widgets/pro_overlay.dart
Normal file
29
lib/widgets/pro_overlay.dart
Normal 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");
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user