Skip to content

Commit 5907b8f

Browse files
fix(embed): react duplicate key issue (#64)
1 parent 182bc95 commit 5907b8f

File tree

1 file changed

+23
-17
lines changed

1 file changed

+23
-17
lines changed

fluxer_app/src/components/channel/MessageAttachments.tsx

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -193,20 +193,23 @@ const ForwardedMessageContent = observer(({message, snapshot}: {message: Message
193193
</div>
194194
)}
195195

196-
{snapshot.embeds && snapshot.embeds.length > 0 && UserSettingsStore.getRenderEmbeds() && (
197-
<div className={styles.attachmentsContainer}>
198-
{snapshot.embeds.map((embed: MessageEmbed, index: number) => (
199-
<Embed
200-
embed={embed}
201-
key={embed.id}
202-
message={message}
203-
embedIndex={index}
204-
contextualEmbeds={snapshot.embeds}
205-
onDelete={() => {}}
206-
/>
207-
))}
208-
</div>
209-
)}
196+
{snapshot.embeds && snapshot.embeds.length > 0 && UserSettingsStore.getRenderEmbeds() && (
197+
<div className={styles.attachmentsContainer}>
198+
{snapshot.embeds.map((embed: MessageEmbed, index: number) => {
199+
const embedKey = `${embed.id}-${index}`;
200+
return (
201+
<Embed
202+
embed={embed}
203+
key={embedKey}
204+
message={message}
205+
embedIndex={index}
206+
contextualEmbeds={snapshot.embeds}
207+
onDelete={() => {}}
208+
/>
209+
);
210+
})}
211+
</div>
212+
)}
210213

211214
<ForwardedFromSource message={message} />
212215
</div>
@@ -328,9 +331,12 @@ export const MessageAttachments = observer(() => {
328331

329332
{UserSettingsStore.getRenderEmbeds() &&
330333
!message.suppressEmbeds &&
331-
message.embeds.map((embed, index) => (
332-
<Embed embed={embed} key={embed.id} message={message} embedIndex={index} onDelete={handleDelete} />
333-
))}
334+
message.embeds.map((embed, index) => {
335+
const embedKey = `${embed.id}-${index}`;
336+
return (
337+
<Embed embed={embed} key={embedKey} message={message} embedIndex={index} onDelete={handleDelete} />
338+
);
339+
})}
334340

335341
{UserSettingsStore.getRenderReactions() && message.reactions.length > 0 && (
336342
<MessageReactions message={message} isPreview={isPreview} onPopoutToggle={onPopoutToggle} />

0 commit comments

Comments
 (0)