mirror of
https://github.com/vodemn/m3_lightmeter.git
synced 2024-10-19 06:40:59 +00:00
8f5893c7d2
* added `showEV100` to user preferences * integrated EV100 setting to UI * available for pro * replaced `IAPProducts.isPurchased` with context extension * fixed `UserPreferencesProvider` tests * EV100 -> Ev100
35 lines
964 B
Dart
35 lines
964 B
Dart
import 'package:flutter/material.dart';
|
|
import 'package:lightmeter/screens/settings/components/shared/disable/widget_disable.dart';
|
|
import 'package:lightmeter/utils/context_utils.dart';
|
|
import 'package:m3_lightmeter_iap/m3_lightmeter_iap.dart';
|
|
|
|
/// Depends on the product status and replaces [onTap] with purchase callback
|
|
/// if the product is purchasable.
|
|
class IAPListTile extends StatelessWidget {
|
|
final IAPProductType product;
|
|
final Icon leading;
|
|
final Text title;
|
|
final VoidCallback onTap;
|
|
final bool showPendingTrailing;
|
|
|
|
const IAPListTile({
|
|
this.product = IAPProductType.paidFeatures,
|
|
required this.leading,
|
|
required this.title,
|
|
required this.onTap,
|
|
this.showPendingTrailing = false,
|
|
super.key,
|
|
});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Disable(
|
|
disable: !context.isPro,
|
|
child: ListTile(
|
|
leading: leading,
|
|
title: title,
|
|
onTap: onTap,
|
|
),
|
|
);
|
|
}
|
|
}
|