diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb index a5d7b25..8cc9e07 100644 --- a/lib/l10n/intl_en.arb +++ b/lib/l10n/intl_en.arb @@ -103,8 +103,8 @@ } } }, - "unlock": "Unlock", "proFeaturesTitle": "Lightmeter Pro", + "getPro": "Get Pro now", "featuresFree": "Free", "featuresPro": "Pro", "proFeaturesPromoText": "Lightmeter Pro delivers everything you need to get the best shots!", @@ -120,8 +120,8 @@ "featureTimer": "Built-in timer for long exposure", "featureMeteringScreenLayout": "Customizable main screen", "proFeaturesSupportText": "By purchasing Lightmeter Pro you support the development and make it possible to add new features to the app.", - "unlockFor": "Unlock for {price}", - "@unlockFor": { + "getNowFor": "Get now for {price}", + "@getNowFor": { "price": { "version": { "type": "String" diff --git a/lib/l10n/intl_fr.arb b/lib/l10n/intl_fr.arb index 2848e98..e002a0c 100644 --- a/lib/l10n/intl_fr.arb +++ b/lib/l10n/intl_fr.arb @@ -103,8 +103,8 @@ } } }, - "proFeatures": "Fonctionnalités professionnelles", "proFeaturesTitle": "Lightmeter Pro", + "getPro": "Acheter Pro", "unlock": "Déverrouiller", "featuresFree": "Gratuit", "featuresPro": "Pro", @@ -121,8 +121,8 @@ "featureTimer": "Minuteur intégré pour longues expositions", "featureMeteringScreenLayout": "Écran principal personnalisable", "proFeaturesSupportText": "En achetant Lightmeter Pro, vous soutenez le développement et permettez l'ajout de nouvelles fonctionnalités à l'application.", - "unlockFor": "Déverrouiller pour {price}", - "@unlockFor": { + "getNowFor": "Acheter maintenant {price}", + "@getNowFor": { "price": { "version": { "type": "String" diff --git a/lib/l10n/intl_ru.arb b/lib/l10n/intl_ru.arb index 9df2907..2e60b8d 100644 --- a/lib/l10n/intl_ru.arb +++ b/lib/l10n/intl_ru.arb @@ -67,8 +67,8 @@ "equipmentProfile": "Оборудование", "equipmentProfiles": "Профили оборудования", "tapToAdd": "Нажмите, чтобы добавить", - "filmsInUse": "Используемые пленки", - "filmsInUseDescription": "Выберите пленки, которыми вы пользуетесь.", + "filmsInUse": "Используемые плёнки", + "filmsInUseDescription": "Выберите плёнки, которыми вы пользуетесь.", "general": "Общие", "keepScreenOn": "Запрет блокировки", "haptics": "Вибрация", @@ -103,9 +103,8 @@ } } }, - "proFeatures": "Профессиональные настройки", "proFeaturesTitle": "Lightmeter Pro", - "unlock": "Разблокировать", + "getPro": "Купить Pro", "featuresFree": "Бесплатно", "featuresPro": "Pro", "proFeaturesPromoText": "Lightmeter Pro предоставляет все необходимое для получения лучших снимков!", @@ -116,13 +115,13 @@ "featureTheme": "Настройка темы", "featureSpotMetering": "Точечный замер", "featureHistogram": "Гистограмма", - "featureListOfFilms": "Список из 20+ фильмов с формулами коррекции", + "featureListOfFilms": "Список из 20+ плёнок с формулами коррекции", "featureEquipmentProfiles": "Профили оборудования", "featureTimer": "Встроенный таймер для длинных выдержек", "featureMeteringScreenLayout": "Настраиваемый главный экран", "proFeaturesSupportText": "Покупая Lightmeter Pro, вы поддерживаете разработку и делаете возможным добавление новых функций в приложение.", - "unlockFor": "Разблокировать за {price}", - "@unlockFor": { + "getNowFor": "Купить за {price}", + "@getNowFor": { "price": { "version": { "type": "String" diff --git a/lib/l10n/intl_zh.arb b/lib/l10n/intl_zh.arb index bb2ab7d..8e5645e 100644 --- a/lib/l10n/intl_zh.arb +++ b/lib/l10n/intl_zh.arb @@ -104,7 +104,7 @@ } }, "proFeatures": "专业功能", - "unlock": "解锁", + "getPro": "购买专业版", "featuresFree": "免费", "featuresPro": "专业版", "proFeaturesPromoText": "Lightmeter Pro 提供您需要的一切,助您拍出最佳照片!", @@ -120,8 +120,8 @@ "featureTimer": "内置长曝光计时器", "featureMeteringScreenLayout": "可自定义的主屏幕", "proFeaturesSupportText": "通过购买Lightmeter Pro,您支持开发工作,并使添加新功能成为可能。", - "unlockFor": "解锁价格 {price}", - "@unlockFor": { + "getNowFor": "立即获取 {price}", + "@getNowFor": { "price": { "version": { "type": "String" diff --git a/lib/screens/metering/components/shared/readings_container/components/lightmeter_pro/widget_lightmeter_pro.dart b/lib/screens/metering/components/shared/readings_container/components/lightmeter_pro/widget_lightmeter_pro.dart index bd0895a..b7a732b 100644 --- a/lib/screens/metering/components/shared/readings_container/components/lightmeter_pro/widget_lightmeter_pro.dart +++ b/lib/screens/metering/components/shared/readings_container/components/lightmeter_pro/widget_lightmeter_pro.dart @@ -12,12 +12,12 @@ class LightmeterProAnimatedDialog extends StatelessWidget { Navigator.of(context).pushNamed('proFeatures'); }, child: ReadingValueContainer( - color: Theme.of(context).colorScheme.errorContainer, - textColor: Theme.of(context).colorScheme.onErrorContainer, + color: Theme.of(context).colorScheme.secondary, + textColor: Theme.of(context).colorScheme.onSecondary, values: [ ReadingValue( label: S.of(context).proFeaturesTitle, - value: S.of(context).unlock, + value: S.of(context).getPro, ), ], ), diff --git a/lib/screens/pro_features/screen_pro_features.dart b/lib/screens/pro_features/screen_pro_features.dart index 718893b..f1ebc5a 100644 --- a/lib/screens/pro_features/screen_pro_features.dart +++ b/lib/screens/pro_features/screen_pro_features.dart @@ -25,10 +25,7 @@ class ProFeaturesScreen extends StatelessWidget { slivers: [ SliverToBoxAdapter( child: Padding( - padding: const EdgeInsets.symmetric( - horizontal: Dimens.paddingM, - vertical: Dimens.paddingS, - ), + padding: const EdgeInsets.all(Dimens.paddingM), child: Text( S.of(context).proFeaturesPromoText, style: Theme.of(context).textTheme.bodyLarge, @@ -38,10 +35,10 @@ class ProFeaturesScreen extends StatelessWidget { SliverToBoxAdapter( child: Padding( padding: const EdgeInsets.fromLTRB( - Dimens.paddingM, - Dimens.paddingM, Dimens.paddingM, 0, + Dimens.paddingM, + Dimens.paddingM, ), child: Text( S.of(context).proFeaturesWhatsIncluded, @@ -82,8 +79,9 @@ class ProFeaturesScreen extends StatelessWidget { ?.analytics .setCustomKey('iap_product_type', IAPProductType.paidFeatures.storeId); IAPProductsProvider.maybeOf(context)?.buy(IAPProductType.paidFeatures); + Navigator.of(context).pop(); }, - child: Text(S.of(context).unlockFor(IAPProducts.productOf(context, IAPProductType.paidFeatures)!.price)), + child: Text(S.of(context).getNowFor(IAPProducts.productOf(context, IAPProductType.paidFeatures)!.price)), ), ), ], 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 index 8c9e188..3228963 100644 --- 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 @@ -11,8 +11,8 @@ class BuyProListTile extends StatelessWidget { final status = IAPProducts.productOf(context, IAPProductType.paidFeatures)?.status; final isPending = status == IAPProductStatus.purchased || status == null; return ListTile( - leading: const Icon(Icons.star_outlined), - title: Text(S.of(context).unlock), + leading: const Icon(Icons.bolt), + title: Text(S.of(context).getPro), onTap: !isPending ? () { Navigator.of(context).pushNamed('proFeatures'); 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 index 872f759..501398c 100644 --- 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 @@ -9,6 +9,8 @@ class LightmeterProSettingsSection extends StatelessWidget { @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()], ); 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 be62847..718c67c 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,10 +4,14 @@ 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, }); @@ -21,24 +25,33 @@ class SettingsSection extends StatelessWidget { Dimens.paddingM, ), child: Card( + color: backgroundColor, child: Padding( padding: const EdgeInsets.symmetric(vertical: Dimens.paddingM), - 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), + 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), + ), ), - ), - ...children, - ], + ...children, + ], + ), ), ), ),