From d1236c510d14ce18392332c5e20d68e2f42e4f27 Mon Sep 17 00:00:00 2001 From: Christian Pauly Date: Sat, 18 Sep 2021 11:33:13 +0200 Subject: [PATCH] feat: Handle activeClients in matrix --- lib/widgets/matrix.dart | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/widgets/matrix.dart b/lib/widgets/matrix.dart index 1b3e996b..b71bafa0 100644 --- a/lib/widgets/matrix.dart +++ b/lib/widgets/matrix.dart @@ -57,12 +57,24 @@ class Matrix extends StatefulWidget { } class MatrixState extends State with WidgetsBindingObserver { - Client get client => widget.clients.first; + int _activeClient = 0; Store store = Store(); BuildContext navigatorContext; BackgroundPush _backgroundPush; + Client get client => widget.clients[_safeActiveClient]; + + set activeClient(int newActiveClient) => + setState(() => _activeClient = newActiveClient); + + int get _safeActiveClient { + if (_activeClient < 0 || _activeClient >= widget.clients.length) { + return 0; + } + return _activeClient; + } + Map get shareContent => _shareContent; set shareContent(Map content) { _shareContent = content;