chat: fix the core update

This commit is contained in:
starnakin 2024-01-09 13:17:41 +01:00
parent 0c59dd4005
commit 5bc847ad88
2 changed files with 31 additions and 45 deletions

View File

@ -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;
}

View File

@ -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;