m3_lightmeter/lib/screens/settings/components/shared/iap_list_tile/widget_list_tile_iap.dart

36 lines
995 B
Dart
Raw Normal View History

import 'package:flutter/material.dart';
2024-01-11 12:13:26 +00:00
import 'package:lightmeter/screens/settings/components/shared/disable/widget_disable.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) {
final isPurchased = IAPProducts.isPurchased(context, IAPProductType.paidFeatures);
2024-01-11 12:13:26 +00:00
return Disable(
disable: !isPurchased,
child: ListTile(
leading: leading,
title: title,
2024-01-11 12:13:26 +00:00
onTap: onTap,
),
);
}
}