mirror of
https://github.com/vodemn/m3_lightmeter.git
synced 2024-11-21 15:00:40 +00:00
changed "get pro" tile colors
This commit is contained in:
parent
0780e9b02f
commit
63f5d8c377
9 changed files with 55 additions and 43 deletions
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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,
|
||||
),
|
||||
],
|
||||
),
|
||||
|
|
|
@ -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)),
|
||||
),
|
||||
),
|
||||
],
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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()],
|
||||
);
|
||||
|
|
|
@ -4,10 +4,14 @@ import 'package:lightmeter/res/dimens.dart';
|
|||
class SettingsSection extends StatelessWidget {
|
||||
final String title;
|
||||
final List<Widget> 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,
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
|
Loading…
Reference in a new issue