fix: resolve invite overflow and member removal lookup
This commit is contained in:
parent
d566621033
commit
bd177cedcc
2 changed files with 47 additions and 41 deletions
|
|
@ -146,7 +146,10 @@ class _ManageCollectionScreenState extends State<ManageCollectionScreen> {
|
||||||
child: const Icon(Icons.person_add, color: Colors.white, size: 28),
|
child: const Icon(Icons.person_add, color: Colors.white, size: 28),
|
||||||
),
|
),
|
||||||
title: const Text('Invite Member'),
|
title: const Text('Invite Member'),
|
||||||
content: Column(
|
content: SingleChildScrollView(
|
||||||
|
child: ConstrainedBox(
|
||||||
|
constraints: const BoxConstraints(maxWidth: 420),
|
||||||
|
child: Column(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
const Text(
|
const Text(
|
||||||
|
|
@ -186,6 +189,8 @@ class _ManageCollectionScreenState extends State<ManageCollectionScreen> {
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
actions: [
|
actions: [
|
||||||
TextButton(
|
TextButton(
|
||||||
onPressed: () => Navigator.pop(context),
|
onPressed: () => Navigator.pop(context),
|
||||||
|
|
@ -256,7 +261,7 @@ class _ManageCollectionScreenState extends State<ManageCollectionScreen> {
|
||||||
try {
|
try {
|
||||||
await CollectionService.removeMember(
|
await CollectionService.removeMember(
|
||||||
collectionId: _collection.id,
|
collectionId: _collection.id,
|
||||||
membershipId: member.id,
|
memberUserId: member.userId,
|
||||||
);
|
);
|
||||||
showGlobalSnackBar('Member removed.');
|
showGlobalSnackBar('Member removed.');
|
||||||
await _loadMembers();
|
await _loadMembers();
|
||||||
|
|
|
||||||
|
|
@ -326,7 +326,7 @@ class CollectionService {
|
||||||
/// Remove a member from a collection.
|
/// Remove a member from a collection.
|
||||||
static Future<void> removeMember({
|
static Future<void> removeMember({
|
||||||
required String collectionId,
|
required String collectionId,
|
||||||
required String membershipId,
|
required String memberUserId,
|
||||||
}) async {
|
}) async {
|
||||||
final currentUserId = supabase.auth.currentUser!.id;
|
final currentUserId = supabase.auth.currentUser!.id;
|
||||||
|
|
||||||
|
|
@ -346,7 +346,7 @@ class CollectionService {
|
||||||
final target = await supabase
|
final target = await supabase
|
||||||
.from('collection_members')
|
.from('collection_members')
|
||||||
.select('role, user_id')
|
.select('role, user_id')
|
||||||
.eq('id', membershipId)
|
.eq('user_id', memberUserId)
|
||||||
.eq('collection_id', collectionId)
|
.eq('collection_id', collectionId)
|
||||||
.maybeSingle();
|
.maybeSingle();
|
||||||
|
|
||||||
|
|
@ -360,7 +360,8 @@ class CollectionService {
|
||||||
await supabase
|
await supabase
|
||||||
.from('collection_members')
|
.from('collection_members')
|
||||||
.delete()
|
.delete()
|
||||||
.eq('id', membershipId);
|
.eq('user_id', memberUserId)
|
||||||
|
.eq('collection_id', collectionId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Leave a collection (for non-owners).
|
/// Leave a collection (for non-owners).
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue