|
|
|
@ -4,12 +4,14 @@ import 'package:flutter/services.dart';
|
|
|
|
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
|
|
|
|
import 'package:go_router/go_router.dart';
|
|
|
|
|
import 'package:keyboard_shortcuts/keyboard_shortcuts.dart';
|
|
|
|
|
import 'package:matrix/matrix.dart';
|
|
|
|
|
|
|
|
|
|
import 'package:fluffychat/config/app_config.dart';
|
|
|
|
|
import 'package:fluffychat/config/themes.dart';
|
|
|
|
|
import 'package:fluffychat/pages/chat_list/chat_list.dart';
|
|
|
|
|
import 'package:fluffychat/pages/chat_list/navi_rail_item.dart';
|
|
|
|
|
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
|
|
|
|
|
import 'package:fluffychat/utils/stream_extension.dart';
|
|
|
|
|
import 'package:fluffychat/widgets/avatar.dart';
|
|
|
|
|
import '../../widgets/matrix.dart';
|
|
|
|
|
import 'chat_list_body.dart';
|
|
|
|
@ -21,6 +23,7 @@ class ChatListView extends StatelessWidget {
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
|
final client = Matrix.of(context).client;
|
|
|
|
|
return StreamBuilder<Object?>(
|
|
|
|
|
stream: Matrix.of(context).onShareContentChanged.stream,
|
|
|
|
|
builder: (_, __) {
|
|
|
|
@ -44,8 +47,14 @@ class ChatListView extends StatelessWidget {
|
|
|
|
|
children: [
|
|
|
|
|
if (FluffyThemes.isColumnMode(context) &&
|
|
|
|
|
controller.widget.displayNavigationRail) ...[
|
|
|
|
|
Builder(
|
|
|
|
|
builder: (context) {
|
|
|
|
|
StreamBuilder(
|
|
|
|
|
key: ValueKey(
|
|
|
|
|
client.userID.toString(),
|
|
|
|
|
),
|
|
|
|
|
stream: client.onSync.stream
|
|
|
|
|
.where((s) => s.hasRoomUpdate)
|
|
|
|
|
.rateLimit(const Duration(seconds: 1)),
|
|
|
|
|
builder: (context, _) {
|
|
|
|
|
final allSpaces = Matrix.of(context)
|
|
|
|
|
.client
|
|
|
|
|
.rooms
|
|
|
|
|