This commit is contained in:
Henry Hiles 2026-01-30 02:13:46 +01:00
commit bfd0b1ec47
No known key found for this signature in database
15 changed files with 186 additions and 89 deletions

View file

@ -1,11 +1,8 @@
import "package:flutter/material.dart";
import "package:hooks_riverpod/hooks_riverpod.dart";
import "package:matrix/matrix.dart";
import "package:nexus/controllers/avatar_controller.dart";
import "package:nexus/controllers/members_controller.dart";
import "package:nexus/helpers/extensions/better_when.dart";
import "package:nexus/helpers/extensions/get_headers.dart";
import "package:nexus/widgets/avatar_or_hash.dart";
import "package:nexus/models/room.dart";
class MemberList extends ConsumerWidget {
final Room room;
@ -36,26 +33,30 @@ class MemberList extends ConsumerWidget {
.where(
(membership) =>
membership.content["membership"] ==
Membership.join.name,
"join", // TODO: Show invites seperately
)
.map(
(member) => ListTile(
onTap: () {},
leading: AvatarOrHash(
ref
.watch(
AvatarController.provider(
member.content["avatar_url"].toString(),
),
)
.whenOrNull(data: (data) => data),
member.content["displayname"].toString(),
headers: room.client.headers,
),
// leading: AvatarOrHash( TODO
// ref
// .watch(
// AvatarController.provider(
// member.content["avatar_url"].toString(),
// ),
// )
// .whenOrNull(data: (data) => data),
// member.content["displayname"].toString(),
// headers: room.client.headers,
// ),
title: Text(
member.content["displayname"].toString(),
overflow: TextOverflow.ellipsis,
),
subtitle: Text(
member.authorId,
overflow: TextOverflow.ellipsis,
),
),
),
],

View file

@ -21,12 +21,12 @@ import "package:nexus/models/relation_type.dart";
import "package:nexus/models/requests/report_request.dart";
import "package:nexus/widgets/chat_page/chat_box.dart";
import "package:nexus/widgets/chat_page/html/html.dart";
import "package:nexus/widgets/chat_page/member_list.dart";
import "package:nexus/widgets/chat_page/room_appbar.dart";
import "package:nexus/widgets/chat_page/top_widget.dart";
import "package:nexus/widgets/form_text_input.dart";
import "package:nexus/widgets/loading.dart";
// import "package:dynamic_polls/dynamic_polls.dart";
// import "package:matrix/matrix.dart";
class RoomChat extends HookConsumerWidget {
final bool isDesktop;
@ -534,12 +534,12 @@ class RoomChat extends HookConsumerWidget {
),
),
// if (memberListOpened.value == true && showMembersByDefault) TODO: Member list
// MemberList(room),
if (memberListOpened.value == true && showMembersByDefault)
MemberList(room),
],
),
// endDrawer: showMembersByDefault ? null : MemberList(room),
endDrawer: showMembersByDefault ? null : MemberList(room),
);
}
}

View file

@ -186,7 +186,7 @@ class Sidebar extends HookConsumerWidget {
? null
: Icon(selectedSpace.icon),
selectedSpace.title, // TODO RM
selectedSpace.title,
headers: {},
// space.client.headers, TODO
),