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;