diff --git a/lib/screens/settings_editors.dart b/lib/screens/settings_editors.dart index 18b60e8d..ab92a7d4 100644 --- a/lib/screens/settings_editors.dart +++ b/lib/screens/settings_editors.dart @@ -48,7 +48,7 @@ class SettingsEditorsScreenState extends State { }, ), SettingsHeader("Journal Editor"), - ListTile( + ProListTile( title: const Text("Default Folder"), subtitle: Text(defaultNewFolder), onTap: () async { diff --git a/lib/screens/settings_widgets.dart b/lib/screens/settings_widgets.dart index 1cbf4442..ebc664a2 100644 --- a/lib/screens/settings_widgets.dart +++ b/lib/screens/settings_widgets.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:gitjournal/settings.dart'; class ListPreference extends StatelessWidget { final String title; @@ -62,3 +63,37 @@ class ListPreference extends StatelessWidget { ); } } + +class ProListTile extends StatelessWidget { + final Widget title; + final Widget subtitle; + final Function onTap; + + ProListTile({this.title, this.subtitle, this.onTap}); + + @override + Widget build(BuildContext context) { + var isPro = Settings.instance.proMode; + var tile = ListTile( + title: title, + subtitle: subtitle, + onTap: onTap, + ); + + if (isPro) { + return tile; + } + return GestureDetector( + behavior: HitTestBehavior.opaque, + child: Banner( + message: 'Pro', + location: BannerLocation.topStart, + color: Colors.purple, + child: IgnorePointer(child: tile), + ), + onTap: () { + Navigator.pushNamed(context, "/purchase"); + }, + ); + } +}