From 26d5a4b1851dd83685887eb3e9c2dfa98cb9526f Mon Sep 17 00:00:00 2001 From: zafer Date: Fri, 3 May 2024 18:13:58 +0300 Subject: [PATCH] add dom ids for new chat messages --- assets/js/user_socket.ts | 1 + lib/algora_web/channels/room_channel.ex | 15 ++++++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/assets/js/user_socket.ts b/assets/js/user_socket.ts index 7b38799..b07f9e0 100644 --- a/assets/js/user_socket.ts +++ b/assets/js/user_socket.ts @@ -42,6 +42,7 @@ const init = () => { channel.on("new_msg", (payload) => { const messageItem = document.createElement("div"); + messageItem.id = `message-${payload.id}`; messageItem.className = "group hover:bg-white/5 relative px-4"; const senderItem = document.createElement("span"); diff --git a/lib/algora_web/channels/room_channel.ex b/lib/algora_web/channels/room_channel.ex index d203735..0ca13e6 100644 --- a/lib/algora_web/channels/room_channel.ex +++ b/lib/algora_web/channels/room_channel.ex @@ -13,12 +13,17 @@ defmodule AlgoraWeb.RoomChannel do "room:" <> video_id = socket.topic if user do - broadcast!(socket, "new_msg", %{user: %{id: user.id, handle: user.handle}, body: body}) + message = + Repo.insert!(%Message{ + body: body, + user_id: user.id, + video_id: String.to_integer(video_id) + }) - Repo.insert!(%Message{ - body: body, - user_id: user.id, - video_id: String.to_integer(video_id) + broadcast!(socket, "new_msg", %{ + user: %{id: user.id, handle: user.handle}, + id: message.id, + body: body }) end