IAP changes

This commit is contained in:
Hillel Coren 2022-10-06 13:24:34 +03:00
parent fcc18414f8
commit bdfed76c1f
2 changed files with 32 additions and 22 deletions

View File

@ -13,6 +13,7 @@ import 'package:invoiceninja_flutter/redux/auth/auth_actions.dart';
import 'package:invoiceninja_flutter/redux/reports/reports_actions.dart';
import 'package:invoiceninja_flutter/redux/settings/settings_actions.dart';
import 'package:invoiceninja_flutter/ui/app/sms_verification.dart';
import 'package:invoiceninja_flutter/ui/app/upgrade_dialog.dart';
import 'package:invoiceninja_flutter/utils/app_review.dart';
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
import 'package:pointer_interceptor/pointer_interceptor.dart';
@ -1311,6 +1312,7 @@ void _showAbout(BuildContext context) async {
.replaceFirst(':value', state.appVersion));
},
onLongPress: () {
if (kReleaseMode) {
showMessageDialog(
context: context,
message: FLUTTER_VERSION['channel'].toUpperCase() +
@ -1322,6 +1324,12 @@ void _showAbout(BuildContext context) async {
onPressed: () => store.dispatch(UserLogout()),
),
]);
} else {
showDialog<void>(
context: context,
builder: (context) => UpgradeDialog(),
);
}
},
),
SizedBox(height: 8),

View File

@ -15,6 +15,7 @@ import 'package:in_app_purchase_storekit/in_app_purchase_storekit.dart';
import 'package:in_app_purchase_storekit/store_kit_wrappers.dart';
import 'package:invoiceninja_flutter/constants.dart';
import 'package:invoiceninja_flutter/data/web_client.dart';
import 'package:invoiceninja_flutter/redux/app/app_actions.dart';
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
import 'package:invoiceninja_flutter/utils/dialogs.dart';
import 'package:invoiceninja_flutter/utils/localization.dart';
@ -284,23 +285,24 @@ class _UpgradeDialogState extends State<UpgradeDialog> {
_purchasePending = false;
});
print('## PLAN UNLOCKED');
print('## ${purchaseDetails.purchaseID}');
print('## ${purchaseDetails.productID}');
final store = StoreProvider.of<AppState>(context);
final state = store.state;
final url = (state.isStaging ? kAppStagingUrl : kAppProductionUrl) +
'/admin/subscription';
'/api/admin/subscription';
await WebClient().post(url, state.credentials.token,
data: jsonEncode({
final data = {
'inapp_transaction_id': purchaseDetails.purchaseID,
'account_id': state.account.id,
'key': state.account.key,
'plan': purchaseDetails.productID,
'plan_paid':
(int.parse(purchaseDetails.transactionDate) / 1000).floor(),
}));
};
await WebClient().post(url, state.credentials.token,
data: jsonEncode(data));
store.dispatch(RefreshData());
}
void handleError(IAPError error) {