Fixed search field in payment page and cleaned up payment flow

This commit is contained in:
Arseni
2025-12-26 11:19:49 +03:00
parent 5191336a49
commit edfdef5211
14 changed files with 246 additions and 317 deletions

View File

@@ -14,6 +14,7 @@ class RecipientsProvider extends GenericProvider<Recipient> {
RecipientFilter _selectedFilter = RecipientFilter.all;
String _query = '';
String? _previousRecipientRef;
RecipientFilter get selectedFilter => _selectedFilter;
String get query => _query;
@@ -22,6 +23,10 @@ class RecipientsProvider extends GenericProvider<Recipient> {
RecipientsProvider() : super(service: RecipientService.basicService);
Recipient? get previousRecipient => _previousRecipientRef == null
? null
: getItemByRef(_previousRecipientRef!);
List<Recipient> get filteredRecipients {
List<Recipient> filtered = recipients.where((r) {
switch (_selectedFilter) {
@@ -53,6 +58,24 @@ class RecipientsProvider extends GenericProvider<Recipient> {
notifyListeners();
}
@override
bool setCurrentObject(String? objectRef) {
final currentRef = currentObject?.id;
final didUpdate = super.setCurrentObject(objectRef);
if (didUpdate && currentRef != null && currentRef != objectRef) {
_previousRecipientRef = currentRef;
}
return didUpdate;
}
void restorePreviousRecipient() {
if (_previousRecipientRef != null) {
setCurrentObject(_previousRecipientRef);
}
}
Future<Recipient> create({
required String name,
required String email,