From c73776c79e5ebea37bca7876730f4816ed15be2f Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Thu, 5 Mar 2026 09:27:18 -0500 Subject: [PATCH] fix: don't sort vocab list by search term if search term is empty (#5882) --- .../vocab_analytics_list_view.dart | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/pangea/analytics_details_popup/vocab_analytics_list_view.dart b/lib/pangea/analytics_details_popup/vocab_analytics_list_view.dart index 91b5b5be0..84a727133 100644 --- a/lib/pangea/analytics_details_popup/vocab_analytics_list_view.dart +++ b/lib/pangea/analytics_details_popup/vocab_analytics_list_view.dart @@ -3,7 +3,6 @@ import 'dart:convert'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -import 'package:collection/collection.dart'; import 'package:diacritic/diacritic.dart'; import 'package:go_router/go_router.dart'; @@ -29,8 +28,14 @@ class VocabAnalyticsListView extends StatelessWidget { const VocabAnalyticsListView({super.key, required this.controller}); - List? get _filteredVocab => - controller.vocab?.where(_vocabFilter).sorted(_sortBySearch).toList(); + List? get _filteredVocab { + final filteredVocab = controller.vocab?.where(_vocabFilter).toList(); + if (controller.isSearching && + controller.searchController.text.trim().isNotEmpty) { + filteredVocab?.sort(_sortBySearch); + } + return filteredVocab?.toList(); + } bool _vocabFilter(ConstructUses use) => _levelFilter(use) && _searchFilter(use); @@ -57,11 +62,6 @@ class VocabAnalyticsListView extends StatelessWidget { } int _sortBySearch(ConstructUses a, ConstructUses b) { - if (!controller.isSearching || - controller.searchController.text.trim().isEmpty) { - return 0; // No sorting if not searching - } - final normalizedSearch = removeDiacritics( controller.searchController.text, ).toLowerCase();