refactoring for recipient addition page

This commit is contained in:
Arseni
2026-01-29 19:22:30 +03:00
parent da8da04ae9
commit efa69b43b2
47 changed files with 1376 additions and 532 deletions

View File

@@ -0,0 +1,28 @@
import 'package:pshared/models/recipient/filter.dart';
import 'package:pshared/models/recipient/recipient.dart';
import 'package:pshared/models/recipient/status.dart';
List<Recipient> filterRecipients({
required List<Recipient> recipients,
RecipientFilter filter = RecipientFilter.all,
String query = '',
}) {
var filtered = recipients.where((r) {
switch (filter) {
case RecipientFilter.ready:
return r.status == RecipientStatus.ready;
case RecipientFilter.registered:
return r.status == RecipientStatus.registered;
case RecipientFilter.notRegistered:
return r.status == RecipientStatus.notRegistered;
case RecipientFilter.all:
return true;
}
}).toList();
final normalizedQuery = query.trim().toLowerCase();
if (normalizedQuery.isEmpty) return filtered;
return filtered.where((r) => r.matchesQuery(normalizedQuery)).toList();
}