refactoring for recipient addition page
This commit is contained in:
28
frontend/pweb/lib/utils/recipient/filtering.dart
Normal file
28
frontend/pweb/lib/utils/recipient/filtering.dart
Normal 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();
|
||||
}
|
||||
Reference in New Issue
Block a user