Watch
1
0
Fork
You've already forked nexus
0
forked from Nexus/nexus

make user bottom sheet scrollable

This commit is contained in:
Henry Hiles 2026-10-01 18:22:02 -04:00
commit a61cac130b
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs
2 changed files with 148 additions and 156 deletions

View file

@ -7,6 +7,7 @@ import "package:m3e_card_list/m3e_card_list.dart";
import "package:nexus/controllers/members_by_status.dart"; import "package:nexus/controllers/members_by_status.dart";
import "package:nexus/controllers/members_grouped.dart"; import "package:nexus/controllers/members_grouped.dart";
import "package:nexus/helpers/extensions/get_localpart.dart"; import "package:nexus/helpers/extensions/get_localpart.dart";
import "package:nexus/helpers/extensions/show_user_popover.dart";
import "package:nexus/helpers/extensions/string_to_color.dart"; import "package:nexus/helpers/extensions/string_to_color.dart";
import "package:nexus/models/content/membership.dart"; import "package:nexus/models/content/membership.dart";
import "package:nexus/models/membership_status.dart"; import "package:nexus/models/membership_status.dart";
@ -14,7 +15,6 @@ import "package:nexus/widgets/avatar_or_hash.dart";
import "package:nexus/widgets/divider_text.dart"; import "package:nexus/widgets/divider_text.dart";
import "package:nexus/widgets/error_dialog.dart"; import "package:nexus/widgets/error_dialog.dart";
import "package:nexus/widgets/loading.dart"; import "package:nexus/widgets/loading.dart";
import "package:nexus/widgets/user_bottom_sheet.dart";
class const MemberList(final String roomId, {super.key}) class const MemberList(final String roomId, {super.key})
extends HookConsumerWidget { extends HookConsumerWidget {
@ -140,20 +140,10 @@ class const MemberList(final String roomId, {super.key})
final member = members[index]; final member = members[index];
if (member.content if (member.content
case MembershipContent content) { case MembershipContent content) {
showModalBottomSheet( context.showUserPopover(
constraints: .loose(
.new(
500,
(context.size?.height ?? 1000) - 80,
),
),
isScrollControlled: true,
context: context,
builder: (context) => UserBottomSheet(
content, content,
member.stateKey!, member.stateKey!,
roomId: roomId, roomId: roomId,
),
); );
} }
}, },

View file

@ -79,6 +79,7 @@ final class const UserBottomSheet(
return Padding( return Padding(
padding: .all(42), padding: .all(42),
child: SingleChildScrollView(
child: Column( child: Column(
spacing: 4, spacing: 4,
mainAxisSize: .min, mainAxisSize: .min,
@ -250,6 +251,7 @@ final class const UserBottomSheet(
], ],
], ],
), ),
),
); );
} }
} }