mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-06-30 11:33:34 +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/note.dart';
|
||||||
import 'package:gitjournal/core/notes_folder_fs.dart';
|
import 'package:gitjournal/core/notes_folder_fs.dart';
|
||||||
import 'package:gitjournal/error_reporting.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:share/share.dart';
|
||||||
|
|
||||||
import 'package:image_picker/image_picker.dart';
|
import 'package:image_picker/image_picker.dart';
|
||||||
@ -230,7 +230,7 @@ Widget _buildBottomMenuSheet(
|
|||||||
Share.share(note.body);
|
Share.share(note.body);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
ProSettingOverlay(
|
ProOverlay(
|
||||||
child: ListTile(
|
child: ListTile(
|
||||||
leading: const FaIcon(FontAwesomeIcons.tag),
|
leading: const FaIcon(FontAwesomeIcons.tag),
|
||||||
title: Text(tr('editors.common.tags')),
|
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/screens/settings_widgets.dart';
|
||||||
import 'package:gitjournal/core/notes_folder_fs.dart';
|
import 'package:gitjournal/core/notes_folder_fs.dart';
|
||||||
import 'package:gitjournal/widgets/folder_selection_dialog.dart';
|
import 'package:gitjournal/widgets/folder_selection_dialog.dart';
|
||||||
|
import 'package:gitjournal/widgets/pro_overlay.dart';
|
||||||
|
|
||||||
class SettingsEditorsScreen extends StatefulWidget {
|
class SettingsEditorsScreen extends StatefulWidget {
|
||||||
@override
|
@override
|
||||||
@ -48,7 +49,7 @@ class SettingsEditorsScreenState extends State<SettingsEditorsScreen> {
|
|||||||
},
|
},
|
||||||
),
|
),
|
||||||
SettingsHeader("Journal Editor"),
|
SettingsHeader("Journal Editor"),
|
||||||
ProSettingOverlay(
|
ProOverlay(
|
||||||
child: ListTile(
|
child: ListTile(
|
||||||
title: const Text("Default Folder"),
|
title: const Text("Default Folder"),
|
||||||
subtitle: Text(defaultNewFolder),
|
subtitle: Text(defaultNewFolder),
|
||||||
|
@ -13,6 +13,7 @@ import 'package:gitjournal/screens/settings_note_metadata.dart';
|
|||||||
|
|
||||||
import 'package:dynamic_theme/dynamic_theme.dart';
|
import 'package:dynamic_theme/dynamic_theme.dart';
|
||||||
import 'package:gitjournal/widgets/folder_selection_dialog.dart';
|
import 'package:gitjournal/widgets/folder_selection_dialog.dart';
|
||||||
|
import 'package:gitjournal/widgets/pro_overlay.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
class SettingsScreen extends StatelessWidget {
|
class SettingsScreen extends StatelessWidget {
|
||||||
@ -142,7 +143,7 @@ class SettingsListState extends State<SettingsList> {
|
|||||||
dynamicTheme.setBrightness(b);
|
dynamicTheme.setBrightness(b);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
ProSettingOverlay(
|
ProOverlay(
|
||||||
child: ListPreference(
|
child: ListPreference(
|
||||||
title: tr('settings.display.homeScreen'),
|
title: tr('settings.display.homeScreen'),
|
||||||
currentOption: settings.homeScreen.toPublicString(),
|
currentOption: settings.homeScreen.toPublicString(),
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
import 'package:easy_localization/easy_localization.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:gitjournal/settings.dart';
|
|
||||||
|
|
||||||
class ListPreference extends StatelessWidget {
|
class ListPreference extends StatelessWidget {
|
||||||
final String title;
|
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 {
|
class LabeledRadio extends StatelessWidget {
|
||||||
const LabeledRadio({
|
const LabeledRadio({
|
||||||
this.label,
|
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