From 0e914be5b6ff64e5af061fdd8f83d9a4136b35f0 Mon Sep 17 00:00:00 2001 From: Christian Pauly Date: Sat, 18 Sep 2021 15:51:04 +0200 Subject: [PATCH] feat: Display bundles better --- lib/pages/views/chat_list_view.dart | 10 ++++++---- lib/widgets/matrix.dart | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/pages/views/chat_list_view.dart b/lib/pages/views/chat_list_view.dart index 44e8c138..28887159 100644 --- a/lib/pages/views/chat_list_view.dart +++ b/lib/pages/views/chat_list_view.dart @@ -11,6 +11,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:vrouter/vrouter.dart'; import '../../widgets/matrix.dart'; +import '../../utils/account_bundles.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; import '../../utils/stream_extension.dart'; @@ -20,10 +21,11 @@ class ChatListView extends StatelessWidget { const ChatListView(this.controller, {Key key}) : super(key: key); List getBottomBarItems(BuildContext context) { - final items = Matrix.of(context) - .accountBundles[Matrix.of(context).activeBundle] - .map((clientId) { - final client = Matrix.of(context).widget.clients[clientId]; + final displayClients = Matrix.of(context).hasComplexBundles + ? Matrix.of(context).accountBundles[Matrix.of(context).activeBundle ?? + Matrix.of(context).client.accountBundles.first.name] + : Matrix.of(context).widget.clients; + final items = displayClients.map((client) { return BottomNavigationBarItem( label: client.userID, icon: FutureBuilder( diff --git a/lib/widgets/matrix.dart b/lib/widgets/matrix.dart index b8367b8e..449213c8 100644 --- a/lib/widgets/matrix.dart +++ b/lib/widgets/matrix.dart @@ -77,7 +77,7 @@ class MatrixState extends State with WidgetsBindingObserver { return activeClient; } - Map> get accountBundles { + Map> get accountBundles { final resBundles = >{}; for (var i = 0; i < widget.clients.length; i++) { final bundles = widget.clients[i].accountBundles;