diff --git a/lib/screens/filter_editor_screen.dart b/lib/screens/filter_editor_screen.dart index b24a58d..4e60b29 100644 --- a/lib/screens/filter_editor_screen.dart +++ b/lib/screens/filter_editor_screen.dart @@ -10,6 +10,7 @@ import '../controls/image_control.dart'; import '../controls/padding.dart'; import '../globals.dart'; import '../models/connection.dart'; +import '../models/filters/string_filter.dart'; import '../models/filters/timeline_entry_filter.dart'; import '../services/connections_manager.dart'; import '../services/timeline_entry_filter_service.dart'; @@ -52,15 +53,15 @@ class _FilterEditorScreenState extends State { cm.getById(f.filterString).withResult((c) => filteredAuthors.add(c)); } filteredDomains.addAll( - filter.domainFilters.map((f) => f.filterString), + filter.domainFilters.map((f) => f.toLabel()), ); filteredKeywords.addAll( - filter.keywordFilters.map((f) => f.filterString), + filter.keywordFilters.map((f) => f.toLabel()), ); filteredHashtags.addAll( - filter.hashtagFilters.map((f) => f.filterString), + filter.hashtagFilters.map((f) => f.toLabel()), ); } @@ -523,3 +524,17 @@ class _FilterEditorScreenState extends State { }); } } + +extension StringFilterLabel on StringFilter { + String toLabel() { + switch (type) { + case ComparisonType.endsWithIgnoreCase: + return '*$filterString'; + case ComparisonType.contains: + case ComparisonType.containsIgnoreCase: + case ComparisonType.equals: + case ComparisonType.equalsIgnoreCase: + return filterString; + } + } +}