diff --git a/CHANGELOG.md b/CHANGELOG.md
index 55242092..84439d40 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,7 +4,9 @@
* Switch back to indexeddb to fix memory and performance
* Add pay invoice functionality
-* Add room membership management and bans
+* Add space membership management and bans
+* Add event info to profile dialog
+* Add better room membership management
# 1.5.3
diff --git a/src/app/components/ProfileDetail.svelte b/src/app/components/ProfileDetail.svelte
index 80553303..a212a768 100644
--- a/src/app/components/ProfileDetail.svelte
+++ b/src/app/components/ProfileDetail.svelte
@@ -1,8 +1,10 @@
-
- {#snippet title()}
- Members
- {/snippet}
- {#snippet info()}
- of
- {/snippet}
-
+
+ {#if $userIsAdmin}
+
+
+
+ {/if}
{#each $members as pubkey (pubkey)}
-
-
+
+
+
+
+
+ {#if menuPubkey === pubkey}
+
+
+ -
+
+
+
+
+ {/if}
+
+
{/each}
-
+
+
+
diff --git a/src/app/components/RoomMembersAdd.svelte b/src/app/components/RoomMembersAdd.svelte
new file mode 100644
index 00000000..03753c8d
--- /dev/null
+++ b/src/app/components/RoomMembersAdd.svelte
@@ -0,0 +1,77 @@
+
+
+
+
+ {#snippet title()}
+ Add Members
+ {/snippet}
+ {#snippet info()}
+ to
+ {/snippet}
+
+
+ {#snippet label()}
+ Search for People
+ {/snippet}
+ {#snippet input()}
+
+ {/snippet}
+
+
+
+
+
+
diff --git a/src/app/components/SpaceMembersAdd.svelte b/src/app/components/SpaceMembersAdd.svelte
index d76af0cd..be480b2e 100644
--- a/src/app/components/SpaceMembersAdd.svelte
+++ b/src/app/components/SpaceMembersAdd.svelte
@@ -38,7 +38,7 @@
}
}
- pushToast({message: "User has successfully been added!"})
+ pushToast({message: "Members have successfully been added!"})
back()
} finally {
loading = false
@@ -60,7 +60,7 @@
{#snippet label()}
- Search for Members
+ Search for People
{/snippet}
{#snippet input()}
diff --git a/src/app/core/state.ts b/src/app/core/state.ts
index cc649556..da84cb4c 100644
--- a/src/app/core/state.ts
+++ b/src/app/core/state.ts
@@ -727,7 +727,7 @@ export const deriveSpaceMembers = (url: string) =>
const membersEvent = $events.find(spec({kind: RELAY_MEMBERS}))
if (membersEvent) {
- return getTagValues("member", membersEvent.tags)
+ return uniq(getTagValues("member", membersEvent.tags))
}
const members = new Set()
@@ -780,7 +780,7 @@ export const deriveRoomMembers = (url: string, h: string) =>
const membersEvent = $events.find(spec({kind: ROOM_MEMBERS}))
if (membersEvent) {
- return getPubkeyTagValues(membersEvent.tags)
+ return uniq(getPubkeyTagValues(membersEvent.tags))
}
const members = new Set()