diff --git a/lib/screens/settings/components/lightmeter_pro/components/restore_purchases/widget_list_tile_restore_purchases.dart b/lib/screens/settings/components/about/components/restore_purchases/widget_list_tile_restore_purchases.dart similarity index 100% rename from lib/screens/settings/components/lightmeter_pro/components/restore_purchases/widget_list_tile_restore_purchases.dart rename to lib/screens/settings/components/about/components/restore_purchases/widget_list_tile_restore_purchases.dart diff --git a/lib/screens/settings/components/about/widget_settings_section_about.dart b/lib/screens/settings/components/about/widget_settings_section_about.dart index d911ae8..19defe4 100644 --- a/lib/screens/settings/components/about/widget_settings_section_about.dart +++ b/lib/screens/settings/components/about/widget_settings_section_about.dart @@ -1,10 +1,12 @@ import 'package:flutter/material.dart'; import 'package:lightmeter/generated/l10n.dart'; import 'package:lightmeter/screens/settings/components/about/components/report_issue/widget_list_tile_report_issue.dart'; +import 'package:lightmeter/screens/settings/components/about/components/restore_purchases/widget_list_tile_restore_purchases.dart'; import 'package:lightmeter/screens/settings/components/about/components/source_code/widget_list_tile_source_code.dart'; import 'package:lightmeter/screens/settings/components/about/components/version/widget_list_tile_version.dart'; import 'package:lightmeter/screens/settings/components/about/components/write_email/widget_list_tile_write_email.dart'; import 'package:lightmeter/screens/settings/components/shared/settings_section/widget_settings_section.dart'; +import 'package:lightmeter/utils/context_utils.dart'; class AboutSettingsSection extends StatelessWidget { const AboutSettingsSection({super.key}); @@ -13,11 +15,12 @@ class AboutSettingsSection extends StatelessWidget { Widget build(BuildContext context) { return SettingsSection( title: S.of(context).about, - children: const [ - SourceCodeListTile(), - ReportIssueListTile(), - WriteEmailListTile(), - VersionListTile(), + children: [ + const SourceCodeListTile(), + const ReportIssueListTile(), + const WriteEmailListTile(), + const VersionListTile(), + if (context.isPro) const RestorePurchasesListTile(), ], ); } diff --git a/lib/screens/settings/components/lightmeter_pro/components/buy_pro/widget_list_tile_buy_pro.dart b/lib/screens/settings/components/lightmeter_pro/components/buy_pro/widget_list_tile_buy_pro.dart deleted file mode 100644 index 160dcc0..0000000 --- a/lib/screens/settings/components/lightmeter_pro/components/buy_pro/widget_list_tile_buy_pro.dart +++ /dev/null @@ -1,19 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:lightmeter/generated/l10n.dart'; -import 'package:lightmeter/navigation/routes.dart'; - -class BuyProListTile extends StatelessWidget { - const BuyProListTile({super.key}); - - @override - Widget build(BuildContext context) { - // TODO: implement pending handling via REvenueCat - return ListTile( - leading: const Icon(Icons.bolt), - title: Text(S.of(context).getPro), - onTap: () { - Navigator.of(context).pushNamed(NavigationRoutes.proFeaturesScreen.name); - }, - ); - } -} diff --git a/lib/screens/settings/components/lightmeter_pro/widget_settings_section_lightmeter_pro.dart b/lib/screens/settings/components/lightmeter_pro/widget_settings_section_lightmeter_pro.dart deleted file mode 100644 index b8a0a91..0000000 --- a/lib/screens/settings/components/lightmeter_pro/widget_settings_section_lightmeter_pro.dart +++ /dev/null @@ -1,22 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:lightmeter/generated/l10n.dart'; -import 'package:lightmeter/screens/settings/components/lightmeter_pro/components/buy_pro/widget_list_tile_buy_pro.dart'; -import 'package:lightmeter/screens/settings/components/lightmeter_pro/components/restore_purchases/widget_list_tile_restore_purchases.dart'; -import 'package:lightmeter/screens/settings/components/shared/settings_section/widget_settings_section.dart'; - -class LightmeterProSettingsSection extends StatelessWidget { - const LightmeterProSettingsSection({super.key}); - - @override - Widget build(BuildContext context) { - return SettingsSection( - backgroundColor: Theme.of(context).colorScheme.secondary, - foregroundColor: Theme.of(context).colorScheme.onSecondary, - title: S.of(context).proFeaturesTitle, - children: const [ - BuyProListTile(), - RestorePurchasesListTile(), - ], - ); - } -} diff --git a/lib/screens/settings/components/shared/dialog_switch/widget_dialog_switch.dart b/lib/screens/settings/components/shared/dialog_switch/widget_dialog_switch.dart index 55495f3..5e8e726 100644 --- a/lib/screens/settings/components/shared/dialog_switch/widget_dialog_switch.dart +++ b/lib/screens/settings/components/shared/dialog_switch/widget_dialog_switch.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import 'package:lightmeter/generated/l10n.dart'; import 'package:lightmeter/res/dimens.dart'; -import 'package:lightmeter/screens/settings/components/shared/disable/widget_disable.dart'; typedef StringAdapter = String Function(BuildContext context, T value); diff --git a/lib/screens/settings/components/shared/settings_section/widget_settings_section.dart b/lib/screens/settings/components/shared/settings_section/widget_settings_section.dart index 718c67c..53cba80 100644 --- a/lib/screens/settings/components/shared/settings_section/widget_settings_section.dart +++ b/lib/screens/settings/components/shared/settings_section/widget_settings_section.dart @@ -4,14 +4,10 @@ import 'package:lightmeter/res/dimens.dart'; class SettingsSection extends StatelessWidget { final String title; final List children; - final Color? backgroundColor; - final Color? foregroundColor; const SettingsSection({ required this.title, required this.children, - this.backgroundColor, - this.foregroundColor, super.key, }); @@ -25,33 +21,22 @@ class SettingsSection extends StatelessWidget { Dimens.paddingM, ), child: Card( - color: backgroundColor, child: Padding( padding: const EdgeInsets.symmetric(vertical: Dimens.paddingM), - child: Theme( - data: Theme.of(context).copyWith( - listTileTheme: Theme.of(context).listTileTheme.copyWith( - iconColor: foregroundColor, - textColor: foregroundColor, - ), - ), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - children: [ - Padding( - padding: const EdgeInsets.symmetric(horizontal: Dimens.paddingM), - child: Text( - title, - style: Theme.of(context) - .textTheme - .labelLarge - ?.copyWith(color: foregroundColor ?? Theme.of(context).colorScheme.onSurface), - ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Padding( + padding: const EdgeInsets.symmetric(horizontal: Dimens.paddingM), + child: Text( + title, + style: + Theme.of(context).textTheme.labelLarge?.copyWith(color: Theme.of(context).colorScheme.onSurface), ), - ...children, - ], - ), + ), + ...children, + ], ), ), ), diff --git a/lib/screens/settings/screen_settings.dart b/lib/screens/settings/screen_settings.dart index c6c7788..e6e05b2 100644 --- a/lib/screens/settings/screen_settings.dart +++ b/lib/screens/settings/screen_settings.dart @@ -3,12 +3,10 @@ import 'package:lightmeter/generated/l10n.dart'; import 'package:lightmeter/screens/settings/components/about/widget_settings_section_about.dart'; import 'package:lightmeter/screens/settings/components/camera/widget_settings_section_camera.dart'; import 'package:lightmeter/screens/settings/components/general/widget_settings_section_general.dart'; -import 'package:lightmeter/screens/settings/components/lightmeter_pro/widget_settings_section_lightmeter_pro.dart'; import 'package:lightmeter/screens/settings/components/metering/widget_settings_section_metering.dart'; import 'package:lightmeter/screens/settings/components/theme/widget_settings_section_theme.dart'; import 'package:lightmeter/screens/settings/flow_settings.dart'; import 'package:lightmeter/screens/shared/sliver_screen/screen_sliver.dart'; -import 'package:lightmeter/utils/context_utils.dart'; import 'package:m3_lightmeter_iap/m3_lightmeter_iap.dart'; class SettingsScreen extends StatefulWidget { @@ -41,7 +39,6 @@ class _SettingsScreenState extends State { SliverList( delegate: SliverChildListDelegate( [ - if (!context.isPro) const LightmeterProSettingsSection(), const MeteringSettingsSection(), const CameraSettingsSection(), const GeneralSettingsSection(),