fix spacing around messages (#159)

Co-authored-by: theAnuragMishra <theanuragmishra@noreply.coracle.social>
Co-committed-by: theAnuragMishra <theanuragmishra@noreply.coracle.social>
This commit was merged in pull request #159.
This commit is contained in:
theAnuragMishra
2026-04-07 16:50:53 +00:00
committed by hodlbod
parent 17fb4e780b
commit 7470f28f31
3 changed files with 43 additions and 16 deletions
+8 -3
View File
@@ -37,6 +37,7 @@
event: TrustedEvent event: TrustedEvent
replyTo?: (event: TrustedEvent) => void replyTo?: (event: TrustedEvent) => void
showPubkey?: boolean showPubkey?: boolean
addSpaceBelow?: boolean
inert?: boolean inert?: boolean
canEdit: (event: TrustedEvent) => boolean canEdit: (event: TrustedEvent) => boolean
onEdit: (event: TrustedEvent) => void onEdit: (event: TrustedEvent) => void
@@ -47,6 +48,7 @@
event, event,
replyTo = undefined, replyTo = undefined,
showPubkey = false, showPubkey = false,
addSpaceBelow = false,
inert = false, inert = false,
canEdit, canEdit,
onEdit, onEdit,
@@ -77,17 +79,20 @@
<TapTarget <TapTarget
data-event={event.id} data-event={event.id}
onTap={inert ? null : onTap} onTap={inert ? null : onTap}
class="group relative flex w-full cursor-default flex-col p-2 pb-3 text-left hover:bg-base-100/50"> 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},
)}>
<div class="flex w-full gap-3 overflow-auto"> <div class="flex w-full gap-3 overflow-auto">
{#if showPubkey} {#if showPubkey}
<Button onclick={openProfile} class="flex items-start"> <Button onclick={openProfile} class="flex items-start pt-1.5 justify-center w-8 shrink-0">
<ProfileCircle <ProfileCircle
pubkey={event.pubkey} pubkey={event.pubkey}
class="border border-solid border-base-content" class="border border-solid border-base-content"
size={8} /> size={8} />
</Button> </Button>
{:else} {:else}
<div class="w-8 min-w-8 max-w-8"></div> <div class="w-8 shrink-0"></div>
{/if} {/if}
<div class="min-w-0 flex-grow pr-1"> <div class="min-w-0 flex-grow pr-1">
{#if showPubkey} {#if showPubkey}
+17 -6
View File
@@ -272,14 +272,21 @@
elements.push({type: "date", value: date, id: date, showPubkey: false}) 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({ elements.push({
id: event.id, id: event.id,
type: "note", type: "note",
value: event, value: event,
showPubkey: showPubkey,
previousPubkey !== event.pubkey || addSpaceBelow: false,
event.created_at - previousCreatedAt > int(3, MINUTE) ||
previousKind === ROOM_ADD_MEMBER,
}) })
previousDate = date previousDate = date
@@ -288,6 +295,9 @@
previousCreatedAt = event.created_at previousCreatedAt = event.created_at
seen.add(event.id) seen.add(event.id)
} }
if (elements.length > 0) {
elements[elements.length - 1].addSpaceBelow = true
}
} }
elements.reverse() elements.reverse()
@@ -382,7 +392,7 @@
<Spinner loading={loadingForward}>Looking for messages...</Spinner> <Spinner loading={loadingForward}>Looking for messages...</Spinner>
</p> </p>
{/if} {/if}
{#each elements as { type, id, value, showPubkey } (id)} {#each elements as { type, id, value, showPubkey, addSpaceBelow } (id)}
{#if type === "new-messages"} {#if type === "new-messages"}
<div <div
{id} {id}
@@ -399,12 +409,13 @@
{#if event.kind === ROOM_ADD_MEMBER} {#if event.kind === ROOM_ADD_MEMBER}
<RoomItemAddMember {url} {event} /> <RoomItemAddMember {url} {event} />
{:else} {:else}
<div in:slide class="cv" class:-mt-1={!showPubkey}> <div in:slide class="cv">
<RoomItem <RoomItem
{url} {url}
{event} {event}
{replyTo} {replyTo}
{showPubkey} {showPubkey}
{addSpaceBelow}
canEdit={canEditEvent} canEdit={canEditEvent}
onEdit={onEditEvent} /> onEdit={onEditEvent} />
</div> </div>
+18 -7
View File
@@ -210,14 +210,21 @@
elements.push({type: "date", value: date, id: date, showPubkey: false}) 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({ elements.push({
id: event.id, id: event.id,
type: "note", type: "note",
value: event, value: event,
showPubkey: showPubkey,
previousPubkey !== event.pubkey || addSpaceBelow: false,
event.created_at - previousCreatedAt > int(3, MINUTE) ||
previousKind === RELAY_ADD_MEMBER,
}) })
previousDate = date previousDate = date
@@ -226,6 +233,9 @@
previousCreatedAt = event.created_at previousCreatedAt = event.created_at
seen.add(event.id) seen.add(event.id)
} }
if (elements.length > 0) {
elements[elements.length - 1].addSpaceBelow = true
}
} }
elements.reverse() elements.reverse()
@@ -295,7 +305,7 @@
<Spinner loading={loadingForward}>Looking for messages...</Spinner> <Spinner loading={loadingForward}>Looking for messages...</Spinner>
</p> </p>
{/if} {/if}
{#each elements as { type, id, value, showPubkey } (id)} {#each elements as { type, id, value, showPubkey, addSpaceBelow } (id)}
{#if type === "new-messages"} {#if type === "new-messages"}
<div <div
{id} {id}
@@ -312,14 +322,15 @@
{#if event.kind === RELAY_ADD_MEMBER} {#if event.kind === RELAY_ADD_MEMBER}
<RoomItemAddMember {url} {event} /> <RoomItemAddMember {url} {event} />
{:else} {:else}
<div class:-mt-1={!showPubkey}> <div>
<RoomItem <RoomItem
{url} {url}
{event} {event}
{replyTo} {replyTo}
{showPubkey} {showPubkey}
canEdit={canEditEvent} canEdit={canEditEvent}
onEdit={onEditEvent} /> onEdit={onEditEvent}
{addSpaceBelow} />
</div> </div>
{/if} {/if}
{/if} {/if}