diff --git a/src/app/components/RoomItem.svelte b/src/app/components/RoomItem.svelte index b691aa16..99a7cf86 100644 --- a/src/app/components/RoomItem.svelte +++ b/src/app/components/RoomItem.svelte @@ -37,6 +37,7 @@ event: TrustedEvent replyTo?: (event: TrustedEvent) => void showPubkey?: boolean + addSpaceBelow?: boolean inert?: boolean canEdit: (event: TrustedEvent) => boolean onEdit: (event: TrustedEvent) => void @@ -47,6 +48,7 @@ event, replyTo = undefined, showPubkey = false, + addSpaceBelow = false, inert = false, canEdit, onEdit, @@ -77,17 +79,20 @@ + class={cx( + "group relative flex w-full cursor-default flex-col px-2 py-0.5 text-left hover:bg-base-100/50", + {"mt-1.5": showPubkey, "mb-1.5": addSpaceBelow}, + )}>
{#if showPubkey} - {:else} -
+
{/if}
{#if showPubkey} diff --git a/src/routes/spaces/[relay]/[h]/+page.svelte b/src/routes/spaces/[relay]/[h]/+page.svelte index a35c471e..78b9fc1c 100644 --- a/src/routes/spaces/[relay]/[h]/+page.svelte +++ b/src/routes/spaces/[relay]/[h]/+page.svelte @@ -272,14 +272,21 @@ elements.push({type: "date", value: date, id: date, showPubkey: false}) } + const showPubkey = + previousPubkey !== event.pubkey || + event.created_at - previousCreatedAt > int(3, MINUTE) || + previousKind === ROOM_ADD_MEMBER + + if (showPubkey && elements.length > 0) { + elements[elements.length - 1].addSpaceBelow = true + } + elements.push({ id: event.id, type: "note", value: event, - showPubkey: - previousPubkey !== event.pubkey || - event.created_at - previousCreatedAt > int(3, MINUTE) || - previousKind === ROOM_ADD_MEMBER, + showPubkey, + addSpaceBelow: false, }) previousDate = date @@ -288,6 +295,9 @@ previousCreatedAt = event.created_at seen.add(event.id) } + if (elements.length > 0) { + elements[elements.length - 1].addSpaceBelow = true + } } elements.reverse() @@ -382,7 +392,7 @@ Looking for messages...

{/if} - {#each elements as { type, id, value, showPubkey } (id)} + {#each elements as { type, id, value, showPubkey, addSpaceBelow } (id)} {#if type === "new-messages"}
{:else} -
+
diff --git a/src/routes/spaces/[relay]/chat/+page.svelte b/src/routes/spaces/[relay]/chat/+page.svelte index 7e557ebb..d1915b9e 100644 --- a/src/routes/spaces/[relay]/chat/+page.svelte +++ b/src/routes/spaces/[relay]/chat/+page.svelte @@ -210,14 +210,21 @@ elements.push({type: "date", value: date, id: date, showPubkey: false}) } + const showPubkey = + previousPubkey !== event.pubkey || + event.created_at - previousCreatedAt > int(3, MINUTE) || + previousKind === RELAY_ADD_MEMBER + + if (showPubkey && elements.length > 0) { + elements[elements.length - 1].addSpaceBelow = true + } + elements.push({ id: event.id, type: "note", value: event, - showPubkey: - previousPubkey !== event.pubkey || - event.created_at - previousCreatedAt > int(3, MINUTE) || - previousKind === RELAY_ADD_MEMBER, + showPubkey, + addSpaceBelow: false, }) previousDate = date @@ -226,6 +233,9 @@ previousCreatedAt = event.created_at seen.add(event.id) } + if (elements.length > 0) { + elements[elements.length - 1].addSpaceBelow = true + } } elements.reverse() @@ -295,7 +305,7 @@ Looking for messages...

{/if} - {#each elements as { type, id, value, showPubkey } (id)} + {#each elements as { type, id, value, showPubkey, addSpaceBelow } (id)} {#if type === "new-messages"}
{:else} -
+
+ onEdit={onEditEvent} + {addSpaceBelow} />
{/if} {/if}