From 5b2482feed700b7a402a625711f5ae30b0177327 Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Thu, 15 Jan 2026 14:29:32 -0500 Subject: [PATCH] chore: ignore diacritics in vocab analytics sortings (#5203) --- .../analytics_details_popup/analytics_details_popup.dart | 7 ++++++- .../analytics_details_popup/vocab_analytics_list_tile.dart | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/pangea/analytics_details_popup/analytics_details_popup.dart b/lib/pangea/analytics_details_popup/analytics_details_popup.dart index c816dfb80..6661afa0a 100644 --- a/lib/pangea/analytics_details_popup/analytics_details_popup.dart +++ b/lib/pangea/analytics_details_popup/analytics_details_popup.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'package:flutter/material.dart'; +import 'package:diacritic/diacritic.dart'; import 'package:go_router/go_router.dart'; import 'package:fluffychat/l10n/l10n.dart'; @@ -106,7 +107,11 @@ class ConstructAnalyticsViewState extends State { vocab = data.values.toList(); vocab!.sort( - (a, b) => a.lemma.toLowerCase().compareTo(b.lemma.toLowerCase()), + (a, b) { + final normalizedA = removeDiacritics(a.lemma).toLowerCase(); + final normalizedB = removeDiacritics(b.lemma).toLowerCase(); + return normalizedA.compareTo(normalizedB); + }, ); } finally { if (mounted) setState(() {}); diff --git a/lib/pangea/analytics_details_popup/vocab_analytics_list_tile.dart b/lib/pangea/analytics_details_popup/vocab_analytics_list_tile.dart index 564069291..91f81c172 100644 --- a/lib/pangea/analytics_details_popup/vocab_analytics_list_tile.dart +++ b/lib/pangea/analytics_details_popup/vocab_analytics_list_tile.dart @@ -77,7 +77,7 @@ class VocabAnalyticsListTile extends StatelessWidget { }, ), Container( - alignment: Alignment.topCenter, + alignment: Alignment.center, padding: const EdgeInsets.only(top: 4), height: (maxWidth - padding * 2) * 0.4, child: ShrinkableText(