Use message index for chat DOM ids
This commit is contained in:
@@ -238,7 +238,7 @@ defmodule MusicLibraryWeb.Components.Chat do
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
:for={message <- @messages}
|
:for={{message, index} <- Enum.with_index(@messages)}
|
||||||
class={[
|
class={[
|
||||||
"max-w-[85%] rounded-lg px-4 py-2 text-sm",
|
"max-w-[85%] rounded-lg px-4 py-2 text-sm",
|
||||||
message_classes(message.role)
|
message_classes(message.role)
|
||||||
@@ -247,14 +247,14 @@ defmodule MusicLibraryWeb.Components.Chat do
|
|||||||
<p :if={message.role == "user"} class="whitespace-pre-wrap">{message.content}</p>
|
<p :if={message.role == "user"} class="whitespace-pre-wrap">{message.content}</p>
|
||||||
<div
|
<div
|
||||||
:if={message.role == "assistant"}
|
:if={message.role == "assistant"}
|
||||||
id={"chat-msg-#{message.id}"}
|
id={"#{@id}-msg-#{index}"}
|
||||||
class="dark:prose-invert prose prose-sm"
|
class="dark:prose-invert prose prose-sm"
|
||||||
>
|
>
|
||||||
{raw(Markdown.to_html(message.content, link_target: "_blank"))}
|
{raw(Markdown.to_html(message.content, link_target: "_blank"))}
|
||||||
</div>
|
</div>
|
||||||
<div :if={message.role == "assistant"} class="flex justify-end -mb-1 -mr-2">
|
<div :if={message.role == "assistant"} class="flex justify-end -mb-1 -mr-2">
|
||||||
<.copy_to_clipboard
|
<.copy_to_clipboard
|
||||||
target_id={"chat-msg-#{message.id}"}
|
target_id={"#{@id}-msg-#{index}"}
|
||||||
label={gettext("Copy message")}
|
label={gettext("Copy message")}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user