Merge remote-tracking branch 'refs/remotes/origin/main'

This commit is contained in:
2024-01-08 21:00:27 +01:00
12 changed files with 101 additions and 66 deletions

View File

@ -55,22 +55,22 @@ export default class extends AbstractView {
let add_chat = document.createElement("a");
add_chat.id = "add_chat_off";
add_chat.onclick = async () => {
if (client.channel != undefined) {
client.channel.members_id.forEach((member_id) => {
if (member_id == user.id)
client.channel = undefined;
if (client.channels.channel != undefined) {
client.channels.channel.members_id.forEach((member_id) => {
if (member_id == user.user_id)
client.channels.channel = undefined;
});
if (client.channel == undefined) {
if (client.channels.channel == undefined) {
add_chat.id = "add_chat_off";
this.last_add_chat = undefined;
return this.hideChat();
return await this.hideChat();
}
client.channel.disconnect();
await client.channels.channel.disconnect();
}
client.channel = await client.channels.createChannel([client.me.id , user.id], this.chat);
client.channels.channel = await client.channels.createChannel([client.me.user_id , user.user_id], this.chat);
this.chat();
if (this.last_add_chat != undefined)
this.last_add_chat.id = "add_chat_off";
@ -99,17 +99,16 @@ export default class extends AbstractView {
}
async chat(logged, profiles) {
async chat(logged, profiles)
{
/*let reload = document.getElementById("messages");
if (reload != null)
reload.remove();*/
let reloads = ["members"];
reloads.forEach(reload => {
if (document.getElementById(reload) != undefined)
document.getElementById(reload).remove();
});
let reload = document.getElementById("members");
if (reload != null)
reload.remove();
if (client.channel == undefined || !logged)
if (client.channels.channel == undefined || !logged)
return ;
let chats = document.getElementById("chats");
@ -134,9 +133,11 @@ export default class extends AbstractView {
// les messages, réecriture seulement du dernier
let i = 0;
client.channel.messages.forEach((message) => {
client.channels.channel.messages.forEach((message) => {
if (messages.children[i] == null || message.content != messages.children[i].innerText) {
let text = document.createElement("p");
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";
@ -149,19 +150,18 @@ export default class extends AbstractView {
});
// Input pour rentrer un message
if (document.getElementById("input_chat") == null) {
let chat_input = document.createElement("input");
chat_input.id="input_chat";
chat_input.type="text";
chat_input.name="message";
chat_input.placeholder="message bozo";
chat_input.maxLength=255;
chat.appendChild(chat_input);
chat_input.onkeydown = async () => {
if (event.keyCode == 13 && client.channel != undefined) {
//let chat_input = document.getElementById("input_chat");
let chat_text = chat_input.value;
let chat_input = document.getElementById("input_chat") || document.createElement("input");
chat_input.id="input_chat";
chat_input.type="text";
chat_input.name="message";
chat_input.placeholder="message bozo";
chat_input.maxLength=255;
chat.appendChild(chat_input);
chat_input.onkeydown = async () => {
if (event.keyCode == 13 && client.channels.channel != undefined) {
//let chat_input = document.getElementById("input_chat");
let chat_text = chat_input.value;
let receivers_id = [];
client.channel.members_id.forEach((member_id) => {
@ -170,18 +170,18 @@ export default class extends AbstractView {
});
await client.channel.sendMessageChannel(chat_text, receivers_id)
// Reset
chat_input.value = "";
}
};
}
// Reset
chat_input.value = "";
}
};
chat_input.focus();
// nom des membres du chat
let members = document.createElement("h2");
members.id = "members";
let usernames = "";
client.channel.members_id.forEach((member_id) => {
if (member_id != client.me) {
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);
@ -194,20 +194,31 @@ export default class extends AbstractView {
// Scroll to the bottom of messages
messages.scrollTop = messages.scrollHeight;
// Button to send invite to play
let invite = document.getElementById("invite") || document.createElement("button");
invite.id = "invite";
invite.innerText = "invite";
invite.onclick = async () => {
};
chat.appendChild(invite);
}
async hideChat() {
let close = document.getElementById("chat");
if (close != null)
close.remove();
let closes = ["chat", "invite"]
closes.forEach(close => {
if (document.getElementById(close))
document.getElementById(close).remove();
});
}
async leavePage() {
if (client.channel != undefined)
client.channel.disconnect();
client.channel = undefined
if (client.channels.channel != undefined)
client.channels.channel.disconnect();
client.channels.channel = undefined;
}
async getHtml() {