import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:pshared/models/payment/methods/data.dart'; import 'package:pshared/models/payment/methods/type.dart'; import 'package:pweb/providers/payment_methods.dart'; import 'package:pweb/pages/payment_methods/add/widget.dart'; import 'package:pweb/generated/i18n/app_localizations.dart'; class PaymentConfigController { final BuildContext context; PaymentConfigController(this.context); void loadMethods() { context.read().loadMethods(); } Future addMethod() async { await showDialog( context: context, builder: (_) => const AddPaymentMethodDialog(), ); loadMethods(); } Future editMethod(PaymentMethod method) async { // TODO: implement edit functionality } Future deleteMethod(PaymentMethod method) async { final l10n = AppLocalizations.of(context)!; final confirmed = await showDialog( context: context, builder: (_) => AlertDialog( title: Text(l10n.delete), content: Text(l10n.deletePaymentConfirmation), actions: [ TextButton( onPressed: () => Navigator.pop(context, false), child: Text(l10n.cancel), ), ElevatedButton( onPressed: () => Navigator.pop(context, true), child: Text(l10n.delete), ), ], ), ); if (confirmed == true) { context.read().deleteMethod(method); } } void toggleEnabled(PaymentMethod method, bool value) { context.read().toggleEnabled(method, value); } void makeMain(PaymentMethod method) { context.read().makeMain(method); } void reorder(int oldIndex, int newIndex) { context.read().reorderMethods(oldIndex, newIndex); } }