diff --git a/lib/ex338/chats.ex b/lib/ex338/chats.ex index 22ea39be..fd61d464 100644 --- a/lib/ex338/chats.ex +++ b/lib/ex338/chats.ex @@ -28,7 +28,7 @@ defmodule Ex338.Chats do |> Repo.insert() |> case do {:ok, message} -> - message = Repo.preload(message, :user) + message = Repo.preload(message, user: [owners: :fantasy_team]) broadcast(message, %Ex338.Events.MessageCreated{message: message}) {:ok, message} diff --git a/lib/ex338/fantasy_leagues.ex b/lib/ex338/fantasy_leagues.ex index b3b3079e..5fa20999 100644 --- a/lib/ex338/fantasy_leagues.ex +++ b/lib/ex338/fantasy_leagues.ex @@ -136,7 +136,7 @@ defmodule Ex338.FantasyLeagues do from(d in FantasyLeagueDraft, where: d.fantasy_league_id == ^fantasy_league.id and d.championship_id == ^championship.id, - preload: [chat: [messages: :user]] + preload: [chat: [messages: [user: [owners: :fantasy_team]]]] ) Repo.one(query) diff --git a/lib/ex338_web/live/championship_live/show.ex b/lib/ex338_web/live/championship_live/show.ex index 49328f0a..c6bc7be7 100644 --- a/lib/ex338_web/live/championship_live/show.ex +++ b/lib/ex338_web/live/championship_live/show.ex @@ -737,7 +737,12 @@ defmodule Ex338Web.ChampionshipLive.Show do phx-hook="ChatScrollToBottom" class="flex flex-col max-h-[400px] overflow-y-auto overflow-x-hidden" > - <.comment :for={{id, message} <- @messages} id={id} message={message} /> + <.comment + :for={{id, message} <- @messages} + id={id} + message={message} + fantasy_league={@fantasy_league} + /> <.live_component @@ -781,6 +786,10 @@ defmodule Ex338Web.ChampionshipLive.Show do """ end + attr :id, :string, required: true + attr :message, :map, required: true + attr :fantasy_league, :map, required: true + defp comment(%{message: %{user: nil}} = assigns) do ~H"""
- <%= @message.content %> +
+ <%= user_name(@message.user, @fantasy_league) %>
++ <%= @message.content %> +