feat: Display bundles better

This commit is contained in:
Christian Pauly 2021-09-18 15:51:04 +02:00
parent 33e606eefe
commit 0e914be5b6
2 changed files with 7 additions and 5 deletions

View File

@ -11,6 +11,7 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:vrouter/vrouter.dart'; import 'package:vrouter/vrouter.dart';
import '../../widgets/matrix.dart'; import '../../widgets/matrix.dart';
import '../../utils/account_bundles.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart';
import '../../utils/stream_extension.dart'; import '../../utils/stream_extension.dart';
@ -20,10 +21,11 @@ class ChatListView extends StatelessWidget {
const ChatListView(this.controller, {Key key}) : super(key: key); const ChatListView(this.controller, {Key key}) : super(key: key);
List<BottomNavigationBarItem> getBottomBarItems(BuildContext context) { List<BottomNavigationBarItem> getBottomBarItems(BuildContext context) {
final items = Matrix.of(context) final displayClients = Matrix.of(context).hasComplexBundles
.accountBundles[Matrix.of(context).activeBundle] ? Matrix.of(context).accountBundles[Matrix.of(context).activeBundle ??
.map((clientId) { Matrix.of(context).client.accountBundles.first.name]
final client = Matrix.of(context).widget.clients[clientId]; : Matrix.of(context).widget.clients;
final items = displayClients.map((client) {
return BottomNavigationBarItem( return BottomNavigationBarItem(
label: client.userID, label: client.userID,
icon: FutureBuilder<Profile>( icon: FutureBuilder<Profile>(

View File

@ -77,7 +77,7 @@ class MatrixState extends State<Matrix> with WidgetsBindingObserver {
return activeClient; return activeClient;
} }
Map<String, List<int>> get accountBundles { Map<String, List<Client>> get accountBundles {
final resBundles = <String, List<_AccountBundleWithClient>>{}; final resBundles = <String, List<_AccountBundleWithClient>>{};
for (var i = 0; i < widget.clients.length; i++) { for (var i = 0; i < widget.clients.length; i++) {
final bundles = widget.clients[i].accountBundles; final bundles = widget.clients[i].accountBundles;