temp
This commit is contained in:
parent
ff21682310
commit
927e41cdd3
@ -6,5 +6,6 @@ from .views import ask
|
|||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path("", chat.ChannelView.as_view(), name="chats_page"),
|
path("", chat.ChannelView.as_view(), name="chats_page"),
|
||||||
path("ask/", ask.AskView.as_view(), name="chats_ask"),
|
path("ask/", ask.AskView.as_view(), name="chats_ask"),
|
||||||
|
path("ask/<int:pk>", ask.AskView.as_view(), name="chats_ask_get"),
|
||||||
path("ask/accept", ask.AskAcceptView.as_view(), name="chats_ask_accept"),
|
path("ask/accept", ask.AskAcceptView.as_view(), name="chats_ask_accept"),
|
||||||
]
|
]
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
|
|
||||||
class Ask {
|
export default class Ask {
|
||||||
constructor(client) {
|
constructor(client) {
|
||||||
this.client = client;
|
this.client = client;
|
||||||
}
|
}
|
||||||
|
|
||||||
async ask_game(asked) {
|
async ask_game(asked) {
|
||||||
response = await this.client._post(`/api/chat/ask/`, {
|
let response = await this.client._post(`/api/chat/ask/`, {
|
||||||
asked:asked,
|
asked:asked,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -15,14 +15,28 @@ class Ask {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async ask_game_accepted(asker) {
|
async ask_game_accepted(asker) {
|
||||||
response = await this.client._post(`/api/chat/ask/accept`, {
|
let response = await this.client._post(`/api/chat/ask/accept`, {
|
||||||
asker:asker,
|
asker:asker,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
console.log(response.status);
|
||||||
}
|
}
|
||||||
|
|
||||||
async ask_game_refused(asker) {
|
async ask_game_refused(asker) {
|
||||||
response = await this.client._delete(`/api/chat/ask/`, {
|
let response = await this.client._delete(`/api/chat/ask/`, {
|
||||||
asker:asker,
|
asker:asker,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
console.log(response.status);
|
||||||
|
}
|
||||||
|
|
||||||
|
async is_asked(asked) {
|
||||||
|
let response = await this.client._get(`/api/chat/ask/${asked}`);
|
||||||
|
|
||||||
|
const statu = response.status;
|
||||||
|
console.log(statu);
|
||||||
|
if (statu == 404 || statu == 204)
|
||||||
|
return false;
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,7 @@ export default class Channels {
|
|||||||
return undefined;
|
return undefined;
|
||||||
|
|
||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
console.log(data)
|
//console.log(data)
|
||||||
|
|
||||||
this.channel = new Channel(this.client, data.id, members_id, data.messages, reload);
|
this.channel = new Channel(this.client, data.id, members_id, data.messages, reload);
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
import AbstractView from "./abstracts/AbstractView.js";
|
import AbstractView from "./abstracts/AbstractView.js";
|
||||||
import { client, lang } from "../index.js";
|
import { client, lang } from "../index.js";
|
||||||
import Channels from '../api/chat/Channels.js'
|
import Channels from '../api/chat/Channels.js'
|
||||||
|
import Ask from '../api/chat/Ask.js'
|
||||||
|
|
||||||
export default class extends AbstractView {
|
export default class extends AbstractView {
|
||||||
constructor(params) {
|
constructor(params) {
|
||||||
super(params, 'SearchWindowTitle');
|
super(params, 'SearchWindowTitle');
|
||||||
this.channelManager = new Channels(client);
|
this.channelManager = new Channels(client);
|
||||||
|
this.AskGame = new Ask(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
async postInit() {
|
async postInit() {
|
||||||
@ -187,7 +189,7 @@ export default class extends AbstractView {
|
|||||||
// Scroll to the bottom of messages
|
// Scroll to the bottom of messages
|
||||||
messages.scrollTop = messages.scrollHeight;
|
messages.scrollTop = messages.scrollHeight;
|
||||||
|
|
||||||
// this.display_invite();
|
this.display_invite();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -204,7 +206,6 @@ export default class extends AbstractView {
|
|||||||
let date = new Date(message.time);
|
let date = new Date(message.time);
|
||||||
text.title = date.toLocaleString("fr-FR");
|
text.title = date.toLocaleString("fr-FR");
|
||||||
text.appendChild(document.createTextNode(message.content));
|
text.appendChild(document.createTextNode(message.content));
|
||||||
console.log(message.author, client.me.id)
|
|
||||||
text.id = message.author === client.me.id ? "you" : "other";
|
text.id = message.author === client.me.id ? "you" : "other";
|
||||||
|
|
||||||
messages.appendChild(text);
|
messages.appendChild(text);
|
||||||
@ -261,16 +262,17 @@ export default class extends AbstractView {
|
|||||||
if (chat == undefined)
|
if (chat == undefined)
|
||||||
return ;
|
return ;
|
||||||
|
|
||||||
let members_id = this.channelManager.channel.members_id;
|
let members_id = this.channelManager.channel.members;
|
||||||
let others = members_id.filter(id => id !== client.me.id);
|
let others = members_id.filter(id => id !== client.me.id);
|
||||||
|
let user = others[0];
|
||||||
|
|
||||||
let invite = document.getElementById("invite") || document.createElement("button");
|
let invite = document.getElementById("invite") || document.createElement("button");
|
||||||
let yes = document.getElementById("yes") || document.createElement("button");
|
let yes = document.getElementById("yes") || document.createElement("button");
|
||||||
let no = document.getElementById("no") || document.createElement("button");
|
let no = document.getElementById("no") || document.createElement("button");
|
||||||
|
|
||||||
let invitedBy;
|
const is_asked = await this.AskGame.is_asked(user);
|
||||||
|
|
||||||
if (invitedBy == undefined) {
|
if (!is_asked) {
|
||||||
|
|
||||||
if (yes && no) {
|
if (yes && no) {
|
||||||
yes.remove();
|
yes.remove();
|
||||||
@ -283,7 +285,7 @@ export default class extends AbstractView {
|
|||||||
invite.innerText = "invite";
|
invite.innerText = "invite";
|
||||||
invite.title = "Invite to play a game";
|
invite.title = "Invite to play a game";
|
||||||
invite.onclick = async () => {
|
invite.onclick = async () => {
|
||||||
await client.notice.send_invite(others);
|
await this.AskGame.ask_game(user)
|
||||||
};
|
};
|
||||||
chat.appendChild(invite);
|
chat.appendChild(invite);
|
||||||
}
|
}
|
||||||
@ -296,14 +298,14 @@ export default class extends AbstractView {
|
|||||||
yes.style.background = "green";
|
yes.style.background = "green";
|
||||||
yes.title = "Accept to play a game";
|
yes.title = "Accept to play a game";
|
||||||
yes.onclick = async () => {
|
yes.onclick = async () => {
|
||||||
await client.notice.accept_invite(invitedBy);
|
await this.AskGame.ask_game_accepted(user)
|
||||||
};
|
};
|
||||||
|
|
||||||
no.id = "no";
|
no.id = "no";
|
||||||
no.style.background = "red";
|
no.style.background = "red";
|
||||||
no.title = "Refuse to play a game";
|
no.title = "Refuse to play a game";
|
||||||
no.onclick = async () => {
|
no.onclick = async () => {
|
||||||
await client.notice.refuse_invite(invitedBy);
|
await this.AskGame.ask_game_refused(user)
|
||||||
};
|
};
|
||||||
|
|
||||||
chat.appendChild(yes);
|
chat.appendChild(yes);
|
||||||
|
Loading…
Reference in New Issue
Block a user