mirror of
https://github.com/vodemn/m3_lightmeter.git
synced 2025-08-19 03:26:41 +00:00
removed Pro section from Settings screen
This commit is contained in:
parent
c8e75167eb
commit
eb768daa6a
7 changed files with 21 additions and 78 deletions
|
@ -1,10 +1,12 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:lightmeter/generated/l10n.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/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/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/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/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/screens/settings/components/shared/settings_section/widget_settings_section.dart';
|
||||||
|
import 'package:lightmeter/utils/context_utils.dart';
|
||||||
|
|
||||||
class AboutSettingsSection extends StatelessWidget {
|
class AboutSettingsSection extends StatelessWidget {
|
||||||
const AboutSettingsSection({super.key});
|
const AboutSettingsSection({super.key});
|
||||||
|
@ -13,11 +15,12 @@ class AboutSettingsSection extends StatelessWidget {
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return SettingsSection(
|
return SettingsSection(
|
||||||
title: S.of(context).about,
|
title: S.of(context).about,
|
||||||
children: const [
|
children: [
|
||||||
SourceCodeListTile(),
|
const SourceCodeListTile(),
|
||||||
ReportIssueListTile(),
|
const ReportIssueListTile(),
|
||||||
WriteEmailListTile(),
|
const WriteEmailListTile(),
|
||||||
VersionListTile(),
|
const VersionListTile(),
|
||||||
|
if (context.isPro) const RestorePurchasesListTile(),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
|
||||||
},
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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(),
|
|
||||||
],
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,7 +1,6 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:lightmeter/generated/l10n.dart';
|
import 'package:lightmeter/generated/l10n.dart';
|
||||||
import 'package:lightmeter/res/dimens.dart';
|
import 'package:lightmeter/res/dimens.dart';
|
||||||
import 'package:lightmeter/screens/settings/components/shared/disable/widget_disable.dart';
|
|
||||||
|
|
||||||
typedef StringAdapter<T> = String Function(BuildContext context, T value);
|
typedef StringAdapter<T> = String Function(BuildContext context, T value);
|
||||||
|
|
||||||
|
|
|
@ -4,14 +4,10 @@ import 'package:lightmeter/res/dimens.dart';
|
||||||
class SettingsSection extends StatelessWidget {
|
class SettingsSection extends StatelessWidget {
|
||||||
final String title;
|
final String title;
|
||||||
final List<Widget> children;
|
final List<Widget> children;
|
||||||
final Color? backgroundColor;
|
|
||||||
final Color? foregroundColor;
|
|
||||||
|
|
||||||
const SettingsSection({
|
const SettingsSection({
|
||||||
required this.title,
|
required this.title,
|
||||||
required this.children,
|
required this.children,
|
||||||
this.backgroundColor,
|
|
||||||
this.foregroundColor,
|
|
||||||
super.key,
|
super.key,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -25,33 +21,22 @@ class SettingsSection extends StatelessWidget {
|
||||||
Dimens.paddingM,
|
Dimens.paddingM,
|
||||||
),
|
),
|
||||||
child: Card(
|
child: Card(
|
||||||
color: backgroundColor,
|
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: const EdgeInsets.symmetric(vertical: Dimens.paddingM),
|
padding: const EdgeInsets.symmetric(vertical: Dimens.paddingM),
|
||||||
child: Theme(
|
child: Column(
|
||||||
data: Theme.of(context).copyWith(
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
listTileTheme: Theme.of(context).listTileTheme.copyWith(
|
mainAxisSize: MainAxisSize.min,
|
||||||
iconColor: foregroundColor,
|
children: [
|
||||||
textColor: foregroundColor,
|
Padding(
|
||||||
),
|
padding: const EdgeInsets.symmetric(horizontal: Dimens.paddingM),
|
||||||
),
|
child: Text(
|
||||||
child: Column(
|
title,
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
style:
|
||||||
mainAxisSize: MainAxisSize.min,
|
Theme.of(context).textTheme.labelLarge?.copyWith(color: Theme.of(context).colorScheme.onSurface),
|
||||||
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),
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
...children,
|
),
|
||||||
],
|
...children,
|
||||||
),
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
|
@ -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/about/widget_settings_section_about.dart';
|
||||||
import 'package:lightmeter/screens/settings/components/camera/widget_settings_section_camera.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/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/metering/widget_settings_section_metering.dart';
|
||||||
import 'package:lightmeter/screens/settings/components/theme/widget_settings_section_theme.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/settings/flow_settings.dart';
|
||||||
import 'package:lightmeter/screens/shared/sliver_screen/screen_sliver.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';
|
import 'package:m3_lightmeter_iap/m3_lightmeter_iap.dart';
|
||||||
|
|
||||||
class SettingsScreen extends StatefulWidget {
|
class SettingsScreen extends StatefulWidget {
|
||||||
|
@ -41,7 +39,6 @@ class _SettingsScreenState extends State<SettingsScreen> {
|
||||||
SliverList(
|
SliverList(
|
||||||
delegate: SliverChildListDelegate(
|
delegate: SliverChildListDelegate(
|
||||||
<Widget>[
|
<Widget>[
|
||||||
if (!context.isPro) const LightmeterProSettingsSection(),
|
|
||||||
const MeteringSettingsSection(),
|
const MeteringSettingsSection(),
|
||||||
const CameraSettingsSection(),
|
const CameraSettingsSection(),
|
||||||
const GeneralSettingsSection(),
|
const GeneralSettingsSection(),
|
||||||
|
|
Loading…
Reference in a new issue