diff --git a/frontend/src/chat/chat.ts b/frontend/src/chat/chat.ts
index 6b08ada..5834d06 100644
--- a/frontend/src/chat/chat.ts
+++ b/frontend/src/chat/chat.ts
@@ -17,7 +17,7 @@ import authHtml from "./chat.html?raw";
import { getUser } from "@app/auth";
import { listBuddies } from "./chatHelperFunctions/listBuddies";
import { getProfil } from "./chatHelperFunctions/getProfil";
-import { addMessage } from "./chatHelperFunctions/addMessage";
+import { addInviteMessage, addMessage } from "./chatHelperFunctions/addMessage";
import { broadcastMsg } from "./chatHelperFunctions/broadcastMsg";
import { openProfilePopup } from "./chatHelperFunctions/openProfilePopup";
import { actionBtnPopUpBlock } from "./chatHelperFunctions/actionBtnPopUpBlock";
@@ -209,7 +209,13 @@ function initChatSocket() {
});
socket.on("privMessageCopy", (message: string) => {
- addMessage(message);
+ const htmlBaliseRegex = /]*>[\s\S]*?<\/a>/;
+ const htmlBaliseMatch = message.match(htmlBaliseRegex);
+
+ if (htmlBaliseMatch)
+ addInviteMessage(message);
+ else
+ addMessage(message);
});
//receives broadcast of the next GAME
diff --git a/frontend/src/chat/chatHelperFunctions/addMessage.ts b/frontend/src/chat/chatHelperFunctions/addMessage.ts
index 4f06ae1..adfed81 100644
--- a/frontend/src/chat/chatHelperFunctions/addMessage.ts
+++ b/frontend/src/chat/chatHelperFunctions/addMessage.ts
@@ -12,4 +12,30 @@ export function addMessage(text: string) {
chatWindow.appendChild(messageElement);
chatWindow.scrollTop = chatWindow.scrollHeight;
return ;
-};
\ No newline at end of file
+};
+
+
+export function addInviteMessage(text: string) {
+ const htmlBaliseRegex = new RegExp(/]*>[\s\S]*?<\/a>/g);
+ const htmlBaliseMatch = text.match(htmlBaliseRegex);
+
+ if (!htmlBaliseMatch) return;
+ const chatWindow = document.getElementById("t-chatbox") as HTMLDivElement;
+ if (!chatWindow) return;
+ const messageElement = document.createElement("div-test");
+ messageElement.innerHTML = `🏓${text.replaceAll(htmlBaliseRegex, "").replaceAll("🔒", '').replaceAll("invites you", "You have invited")}${htmlBaliseMatch[0]}🔒`
+ chatWindow.appendChild(messageElement);
+ chatWindow.scrollTop = chatWindow.scrollHeight;
+ return ;
+};
+
+
+ // if (chatWindow && data.message.destination === "inviteMsg") {
+ // const messageElement = document.createElement("div-private");
+ // const chatWindow = document.getElementById(
+ // "t-chatbox",
+ // ) as HTMLDivElement;
+ // messageElement.innerHTML = `🏓${data.message.SenderUserName}: ${data.message.innerHtml}`;
+ // chatWindow.appendChild(messageElement);
+ // chatWindow.scrollTop = chatWindow.scrollHeight;
+ // }
\ No newline at end of file
diff --git a/src/chat/src/chatBackHelperFunctions/sendInvite.ts b/src/chat/src/chatBackHelperFunctions/sendInvite.ts
index 5c1c183..02cc8eb 100644
--- a/src/chat/src/chatBackHelperFunctions/sendInvite.ts
+++ b/src/chat/src/chatBackHelperFunctions/sendInvite.ts
@@ -25,6 +25,11 @@ function getGameNumber():string {
export async function sendInvite(fastify: FastifyInstance, innerHtml: string, profil: ClientProfil) {
const sockets = await fastify.io.fetchSockets();
let targetSocket;
+ const senderSocket = sockets.find(socket => {
+ const clientInfo = clientChat.get(socket.id);
+
+ return clientInfo?.user === profil.SenderName
+ });
for (const socket of sockets) {
const clientInfo: string | undefined = clientChat.get(socket.id)?.user || undefined;
targetSocket = socket || null;
@@ -33,23 +38,19 @@ export async function sendInvite(fastify: FastifyInstance, innerHtml: string, pr
profil.innerHtml = innerHtml ?? '';
if (targetSocket.id) {
const data: ClientMessage = {
+ ...profil,
command: `@${clientInfo}`,
destination: 'inviteMsg',
type: 'chat',
user: profil.user,
- token: '',
text: getGameNumber(),
timestamp: Date.now(),
SenderWindowID: socket.id,
userID: profil.userID,
- frontendUserName: '',
- frontendUser: '',
SenderUserName: profil.SenderName,
- SenderUserID: '',
- Sendertext: '',
innerHtml: innerHtml,
};
- sendPrivMessage(fastify, data, '');
+ sendPrivMessage(fastify, data, senderSocket?.id);
}
return;
}
diff --git a/src/chat/src/chatBackHelperFunctions/sendPrivMessage.ts b/src/chat/src/chatBackHelperFunctions/sendPrivMessage.ts
index 44f72aa..d062ea5 100644
--- a/src/chat/src/chatBackHelperFunctions/sendPrivMessage.ts
+++ b/src/chat/src/chatBackHelperFunctions/sendPrivMessage.ts
@@ -49,7 +49,11 @@ export async function sendPrivMessage(fastify: FastifyInstance, data: ClientMess
socket.emit('MsgObjectServer', { message: data });
fastify.log.info({ senderID: `${UserID}`, msgPriv: data.text, target: `${receiverUser.id}` });
if (senderSocket) {
- senderSocket.emit('privMessageCopy', `${data.command}: ${data.text}🔒`);
+ if (!data.innerHtml)
+ senderSocket.emit('privMessageCopy', `${data.command}: ${data.text}🔒`);
+ else
+ senderSocket.emit('privMessageCopy', `${data.command}: ${data.innerHtml}🔒`);
+
}
}
}