From 1e0a5e71fd6af0c43c365dbc42f95fd81763027f Mon Sep 17 00:00:00 2001 From: Kelrap Date: Fri, 14 Jun 2024 13:00:21 -0400 Subject: [PATCH] Shorten parent names --- .../children_and_parents_extension.dart | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/lib/pangea/extensions/pangea_room_extension/children_and_parents_extension.dart b/lib/pangea/extensions/pangea_room_extension/children_and_parents_extension.dart index 5c3ffe0db..46cffea83 100644 --- a/lib/pangea/extensions/pangea_room_extension/children_and_parents_extension.dart +++ b/lib/pangea/extensions/pangea_room_extension/children_and_parents_extension.dart @@ -149,16 +149,18 @@ extension ChildrenAndParentsRoomExtension on Room { String _nameIncludingParents(BuildContext context) { String nameSoFar = getLocalizedDisplayname(MatrixLocals(L10n.of(context)!)); Room currentRoom = this; - var i = 0; - while (i < 2) { - if (currentRoom.immediateClassParents.isEmpty) { - return nameSoFar; - } - currentRoom = currentRoom.immediateClassParents.first; - nameSoFar = - '${currentRoom.getLocalizedDisplayname(MatrixLocals(L10n.of(context)!))} > $nameSoFar'; - i++; + if (currentRoom.immediateClassParents.isEmpty) { + return nameSoFar; + } + currentRoom = currentRoom.immediateClassParents.first; + var nameToAdd = + currentRoom.getLocalizedDisplayname(MatrixLocals(L10n.of(context)!)); + nameToAdd = + nameToAdd.length <= 10 ? nameToAdd : "${nameToAdd.substring(0, 10)}..."; + nameSoFar = '$nameToAdd > $nameSoFar'; + if (currentRoom.immediateClassParents.isEmpty) { + return nameSoFar; } - return nameSoFar; + return "... > $nameSoFar"; } }