defmodule ElixirAiWeb.ChatMessage do use Phoenix.Component alias ElixirAiWeb.Markdown alias Phoenix.LiveView.JS attr :content, :string, required: true def user_message(assigns) do ~H"""
{@content}
""" end attr :content, :string, required: true attr :reasoning_content, :string, default: nil def assistant_message(assigns) do assigns = assign(assigns, :_reasoning_id, "reasoning-#{:erlang.phash2(assigns.content)}") ~H"""
<%= if @reasoning_content && @reasoning_content != "" do %>
{Markdown.render(@reasoning_content)}
<% end %>
{Markdown.render(@content)}
""" end end