diff --git a/frontend/static/js/api/chat/channels.js b/frontend/static/js/api/chat/channels.js index 249a79b..84c50a3 100644 --- a/frontend/static/js/api/chat/channels.js +++ b/frontend/static/js/api/chat/channels.js @@ -8,28 +8,19 @@ class Channels { async createChannel(members_id, reload) { - let null_id = false; - members_id.forEach(member_id => { - if (member_id == null) - null_id = true; - }); - if (null_id) - return console.log(members_id, "createChannel error, null id;"); - let response = await this.client._post("/api/chat/", { members_id:members_id }); - let data = await response.json(); - if (data.status >= 300) + if (response.status >= 300) return undefined; + let data = await response.json(); + let messages = undefined; - if (exit_code == 200) + if (response.status == 200) messages = data.messages; - console.log(response); - console.log(data); this.channel = new Channel(this.client, data.channel_id, members_id, messages, reload); return this.channel; } diff --git a/frontend/static/js/views/Search.js b/frontend/static/js/views/Search.js index bdcf548..a07a5bc 100644 --- a/frontend/static/js/views/Search.js +++ b/frontend/static/js/views/Search.js @@ -9,17 +9,17 @@ export default class extends AbstractView { async postInit() { + let logged = await client.isAuthentificate(); + let profiles = await client.profiles.all(); + let search = document.getElementById("input_user"); - search.oninput = this.users; + search.oninput = () => this.users(logged, profiles); let chat_input = document.getElementById("input_chat"); //chat_input.addEventListener("keydown", this.chat_manager) this.last_add_chat = undefined; - let logged = await client.isAuthentificate(); - let profiles = await client.profiles.all(); - this.users(logged, profiles); this.chat(logged, profiles); @@ -69,9 +69,8 @@ export default class extends AbstractView { await client.channels.channel.disconnect(); } - - client.channels.channel = await client.channels.createChannel([client.me.user_id , user.user_id], this.chat); - this.chat(); + client.channels.channel = await client.channels.createChannel([client.me.id , user.id], () => this.chat(logged, profiles)); + this.chat(logged, profiles); if (this.last_add_chat != undefined) this.last_add_chat.id = "add_chat_off"; this.last_add_chat = add_chat; @@ -101,14 +100,13 @@ export default class extends AbstractView { async chat(logged, profiles) { - let reloads = ["members"]; reloads.forEach(reload => { if (document.getElementById(reload) != undefined) document.getElementById(reload).remove(); }); - if (client.channels.channel == undefined || !logged) + if (client.channels.channel === undefined || logged === false) return ; let chats = document.getElementById("chats"); @@ -120,7 +118,7 @@ export default class extends AbstractView { } - // div des messages + // diconsole.log("CACA")v des messages let messages = document.getElementById("messages"); if (messages == null) { messages = document.createElement("div"); @@ -139,16 +137,27 @@ export default class extends AbstractView { let date = new Date(message.time); text.title = date.toLocaleString("fr-FR"); text.appendChild(document.createTextNode(message.content)); - if (message.author_id == client.me) - text.id = "you"; - else - text.id = "other"; + text.id = message.author_id === client.me.id ? "you" : "other"; messages.appendChild(text); } i++; }); + // nom des membres du chat + let members = document.createElement("h2"); + members.id = "members"; + let usernames = ""; + client.channels.channel.members_id.forEach((member_id) => { + if (member_id != client.me.user_id) { + if (usernames.length > 0) + usernames += ", "; + usernames += (profiles.filter(user => user.id == member_id)[0].username); + } + }); + members.appendChild(document.createTextNode(usernames)); + messages.before(members); + // Input pour rentrer un message let chat_input = document.getElementById("input_chat") || document.createElement("input"); chat_input.id="input_chat"; @@ -164,11 +173,11 @@ export default class extends AbstractView { let chat_text = chat_input.value; let receivers_id = []; - client.channel.members_id.forEach((member_id) => { - if (member_id != client.me) - receivers_id.push(profiles.filter(user => user.id == member_id)[0].user_id); + client.channels.channel.members_id.forEach((member_id) => { + if (member_id != client.me.id) + receivers_id.push(profiles.filter(user => user.id == member_id)[0].id); }); - await client.channel.sendMessageChannel(chat_text, receivers_id) + await client.channels.channel.sendMessageChannel(chat_text, receivers_id) // Reset chat_input.value = ""; @@ -176,20 +185,6 @@ export default class extends AbstractView { }; chat_input.focus(); - // nom des membres du chat - let members = document.createElement("h2"); - members.id = "members"; - let usernames = ""; - client.channels.channel.members_id.forEach((member_id) => { - if (member_id != client.me.user_id) { - if (usernames.length > 0) - usernames += ", "; - usernames += (profiles.filter(user => user.id == member_id)[0].username); - } - }); - members.appendChild(document.createTextNode(usernames)); - messages.before(members); - // Scroll to the bottom of messages messages.scrollTop = messages.scrollHeight;