diff --git a/site/module_livechat/note,txt b/site/module_livechat/note,txt deleted file mode 100644 index 515155f..0000000 --- a/site/module_livechat/note,txt +++ /dev/null @@ -1,68 +0,0 @@ -# async def sendData(websocket): -# while True: -# try: -# await websocket.send(json.dumps({"message": "Hello client"})) -# except websockets.exceptions.ConnectionClosed as e: -# connected_clients.remove(websocket) -# print("Client disconnected with error :", e) -# break -# await asyncio.sleep(1) - -# async def receiveData(websocket): -# try : -# async for message in websocket: -# print(f"Message reçu : {message}") -# except websockets.exceptions.ConnectionClosed as e: -# print("Client disconnected with error :", e) - -# def verifyToken(websocket): -# try: -# token = websocket.request_headers["Sec-WebSocket-Protocol"] -# print(f"Token reçu : {token}") -# if token == validTokens: -# return True -# else: -# return False -# except KeyError as e: -# print(f"Error: {e}") -# return False - -# async def handler(websocket, path): -# print("client connected") -# connected_clients.add(websocket) -# websocket.request_headers["Sec-WebSocket-Protocol"] = "123456" -# await websocket.send("Connection established") - -# # try: -# # if path != "/": -# # print("client disconnected") -# # await websocket.send(json.dumps({"error": "Invalid path", "code": 9010})) -# # await websocket.close() -# # return -# # if verifyToken(websocket) == False: -# # print("client disconnected") -# # await websocket.send(json.dumps({"error": "Invalid token", "code": 9000})) -# # await websocket.close() -# # return - -# # send_task = asyncio.create_task(sendData(websocket)) -# # receive_task = asyncio.create_task(receiveData(websocket)) -# # await asyncio.gather(receive_task, send_task) -# # # except websockets.exceptions.ConnectionClosed as e: -# # # print("Client disconnected with error :", e) -# # # connected_clients.remove(websocket) -# # # return -# # # finally: -# # # connected_clients.remove(websocket) -# # # websocket.close() - - - -# try: -# start_server = websockets.serve(handler, "localhost", 8000, reuse_address=True) -# except OSError as e: -# print(f"Error: {e}") -# exit(1) -# asyncio.get_event_loop().run_until_complete(start_server) -# print("Server started") -# asyncio.get_event_loop().run_forever() \ No newline at end of file diff --git a/site/module_livechat/server/Class/User.py b/site/module_livechat/server/Class/User.py index 1d1f304..7088b66 100644 --- a/site/module_livechat/server/Class/User.py +++ b/site/module_livechat/server/Class/User.py @@ -6,7 +6,7 @@ # By: edbernar { liveChat(); @@ -72,17 +74,17 @@ async function showListUserMessage() { divMessageListChatHome.innerHTML += "

New conversation +

"; divUser = document.getElementsByClassName("user"); for (let i = 0; i < divUser.length; i++) { - divUser[i].addEventListener("click", () => { - launchPrivateChat(userList[i]); + divUser[i].addEventListener("click", async () => { + await launchPrivateChat(userList[i]); }); } } -function showActualGameMessage() { +function showActualGameMessage(id) { const divMessageListChatHome = document.getElementById("messageListChatHome"); let me = "Kumita"; let request = { - isInGame: true, + isInGame: false, opponent: { name: "Astropower", pfp: "https://ashisheditz.com/wp-content/uploads/2024/03/cool-anime-pfp-demon-slayer-HD.jpg" @@ -147,50 +149,13 @@ function showActualGameMessage() { `; } -function launchPrivateChat(user) { +async function launchPrivateChat(user) { const divMessageListChatHome = document.getElementById("messageListChatHome"); const divButtonTypeChatHome = document.getElementById("buttonTypeChatHome"); let returnButton; - let me = "Kumita"; - let request = { - opponent: { - name: user.name, - pfp: user.pfp - }, - listMessage: [ - { - from: user.name, - content: "Salut !", - date: "10:05 31/07/2024" - }, - { - from: "Kumita", - content: "Hey", - date: "10:05 31/07/2024" - }, - { - from: user.name, - content: "Tu veux coder un peu ?", - date: "10:06 31/07/2024" - }, - { - from: "Kumita", - content: "Ouais, je suis partant !", - date: "10:06 31/07/2024" - }, - { - from: "Kumita", - content: "Ce bug était vraiment galère à résoudre, mais on y est arrivé.", - date: "10:45 31/07/2024" - }, - { - from: user.name, - content: "Ouais, mais t'as trouvé la solution. À la prochaine !", - date: "10:46 31/07/2024" - }, - ] - }; //Remplace temporairement la requete qui devra être de la meme forme - + + sendRequest("get_private_list_message", {id: user.id}); + await waitForMessageList(); let h2Button = divButtonTypeChatHome.getElementsByTagName("h2"); let len = h2Button.length; for (let i = 0; i < len; i++) { @@ -208,17 +173,16 @@ function launchPrivateChat(user) {

Private

Game

`; - liveChat(); + showListUserMessage(); }); - divMessageListChatHome.style.height = "230px"; divMessageListChatHome.style.paddingBottom = "20px"; divMessageListChatHome.innerHTML = ''; - request.listMessage.forEach(element => { + messageList.forEach(element => { divMessageListChatHome.innerHTML += ` -
+

${element.content}

${element.date}

diff --git a/site/module_livechat/site/typeResponse/typeLogin.js b/site/module_livechat/site/typeResponse/typeLogin.js index d352d45..bebe714 100644 --- a/site/module_livechat/site/typeResponse/typeLogin.js +++ b/site/module_livechat/site/typeResponse/typeLogin.js @@ -6,13 +6,20 @@ /* By: edbernar { + if (messageListAvailable) + resolve(); + else + messageListResolve = resolve; + }); +} + +function typePrivateListMessage(list) { + messageList = list; + messageListAvailable = true; + if (messageListResolve) + { + messageListResolve(); + messageListResolve = null; + } +} + +export { messageList, typePrivateListMessage, waitForMessageList }; \ No newline at end of file diff --git a/site/module_livechat/site/websocket.js b/site/module_livechat/site/websocket.js index 5826aab..1b16742 100644 --- a/site/module_livechat/site/websocket.js +++ b/site/module_livechat/site/websocket.js @@ -6,23 +6,27 @@ /* By: edbernar { console.log('Connected'); if (token) sendRequest("login", {"type": "byToken", "token": token}); + // |Eddy| Requete pour se connecter par mail et password. En attente du front pour le faire (déjà fonctionnel côté back) + // sendRequest("login", {type: "byPass", mail: "aa@aa.fr", password: "ABC123"}); + }; socket.onmessage = (event) => {