patch chat and game invite
This commit is contained in:
parent
f4b7a50269
commit
1ad9d0897b
@ -20,7 +20,7 @@ class AskView(APIView):
|
||||
data: dict = request.data
|
||||
|
||||
asker_id = request.user.pk
|
||||
asked_id = data["asked"]
|
||||
asked_id = data.get("asked")
|
||||
|
||||
if (asked_id is None):
|
||||
return Response(status=status.HTTP_400_BAD_REQUEST)
|
||||
@ -38,7 +38,7 @@ class AskView(APIView):
|
||||
def delete(self, request):
|
||||
data: dict = request.data
|
||||
|
||||
asker_id = data["asker"]
|
||||
asker_id = data.get("asker")
|
||||
asked_id = request.user.pk
|
||||
|
||||
if (asker_id is None):
|
||||
@ -69,8 +69,6 @@ class AskView(APIView):
|
||||
return Response(status=status.HTTP_204_NO_CONTENT)
|
||||
return Response(status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
|
||||
class AskAcceptView(APIView):
|
||||
|
||||
permission_classes = (permissions.IsAuthenticated,)
|
||||
@ -80,7 +78,7 @@ class AskAcceptView(APIView):
|
||||
|
||||
data: dict = request.data
|
||||
|
||||
asker_id = data["asker"]
|
||||
asker_id = data.get("asker")
|
||||
asked_id = request.user.pk
|
||||
|
||||
if (asker_id is None):
|
||||
@ -92,7 +90,7 @@ class AskAcceptView(APIView):
|
||||
asker = User.objects.get(pk=asker_id)
|
||||
asked = request.user
|
||||
|
||||
id_game = GameModel().create({asker, asked}).pk
|
||||
id_game = GameModel(game_type="pong").create([asker, asked]).pk
|
||||
|
||||
notice_manager.accept_game(asker, request.user.username, id_game)
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
body {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#gameCanvas {
|
||||
display: block;
|
||||
}
|
||||
|
@ -24,6 +24,8 @@ export default class Notice {
|
||||
this._socket.onmessage = async message => {
|
||||
const data = JSON.parse(message.data);
|
||||
|
||||
console.log(data);
|
||||
|
||||
if (data.type === 'friend_request') {
|
||||
this.friend_request(data.author);
|
||||
} else if (data.type === 'new_friend') {
|
||||
|
@ -24,7 +24,7 @@ class Channel {
|
||||
|
||||
this.messages.push(new Message(
|
||||
this.channel,
|
||||
data.author,
|
||||
data.author_id,
|
||||
data.content,
|
||||
data.time,
|
||||
));
|
||||
|
@ -16,7 +16,6 @@ export default class Channels {
|
||||
return undefined;
|
||||
|
||||
const data = await response.json();
|
||||
//console.log(data)
|
||||
|
||||
this.channel = new Channel(this.client, data.id, members_id, data.messages, reload);
|
||||
}
|
||||
|
@ -280,6 +280,7 @@ class Game {
|
||||
PADDLESPEED: 3,
|
||||
BALLRADIUS: 5,
|
||||
BALLSPEED: 2,
|
||||
BALLMAXSPEED: 4,
|
||||
BALLSPEEDINCR: 0.15,
|
||||
MAXBOUNCEANGLE: 10 * (Math.PI / 12),
|
||||
MAXSCORE: 2
|
||||
@ -526,13 +527,13 @@ class Game {
|
||||
let normRelIntersectY = relativeIntersectY / this.def.PADDLEHEIGHT / 2;
|
||||
let bounceAngle = normRelIntersectY * this.def.MAXBOUNCEANGLE;
|
||||
|
||||
ball.speed += this.def.BALLSPEEDINCR;
|
||||
ball.speed += ball.speed >= this.def.BALLMAXSPEED ? 0 : this.def.BALLSPEEDINCR;
|
||||
ball.vx = ball.speed * side * Math.cos(bounceAngle);
|
||||
ball.vy = ball.speed * -Math.sin(bounceAngle);
|
||||
}
|
||||
|
||||
keyUpHandler(ev) {
|
||||
let attributes = ev.originalTarget.attributes;
|
||||
let attributes = ev.target.attributes;
|
||||
|
||||
let key = ev.key === undefined ? `${attributes.direction.value}${attributes.user_id.value}` : ev.key;
|
||||
|
||||
@ -542,7 +543,7 @@ class Game {
|
||||
}
|
||||
|
||||
keyDownHandler(ev) {
|
||||
let attributes = ev.originalTarget.attributes;
|
||||
let attributes = ev.target.attributes;
|
||||
|
||||
let key = ev.key === undefined ? `${attributes.direction.value}${attributes.user_id.value}` : ev.key;
|
||||
|
||||
|
@ -155,7 +155,7 @@ export default class extends AbstractView {
|
||||
let messages = await this.display_messages(chat);
|
||||
|
||||
// Input pour rentrer un message
|
||||
let chat_input = document.getElementById("chat-input") || document.createElement("input");
|
||||
let chat_input = document.getElementById("chat_input") || document.createElement("input");
|
||||
chat_input.id="chat_input";
|
||||
chat_input.type="text";
|
||||
chat_input.name="message";
|
||||
@ -186,8 +186,7 @@ export default class extends AbstractView {
|
||||
// Scroll to the bottom of messages
|
||||
messages.scrollTop = messages.scrollHeight;
|
||||
|
||||
this.display_invite();
|
||||
|
||||
await this.display_invite();
|
||||
}
|
||||
|
||||
async display_messages(chat) {
|
||||
@ -214,16 +213,22 @@ export default class extends AbstractView {
|
||||
async reload_display_messages() {
|
||||
let messages = document.getElementById("messages");
|
||||
|
||||
let i = 0;
|
||||
let i = 0;
|
||||
this.channelManager.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));
|
||||
text.id = message.author === client.me.id ? "you" : "other";
|
||||
let content, child_inner;
|
||||
if (messages.children[i] != null) {
|
||||
child_inner = messages.children[i].innerText.toLowerCase().replace(/\s/g, '');
|
||||
content = message.content.toLowerCase().replace(/\s/g, '');
|
||||
}
|
||||
|
||||
messages.appendChild(text);
|
||||
if (messages.children[i] == null || content != child_inner) {
|
||||
let text = document.createElement("p");
|
||||
let date = new Date(message.time);
|
||||
text.title = date.toLocaleString("fr-FR");
|
||||
text.appendChild(document.createTextNode(message.content));
|
||||
text.id = message.author === client.me.id ? "you" : "other";
|
||||
|
||||
messages.appendChild(text);
|
||||
}
|
||||
i++;
|
||||
});
|
||||
|
@ -108,11 +108,8 @@ WSGI_APPLICATION = 'transcendence.wsgi.application'
|
||||
|
||||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.postgresql',
|
||||
'HOST': 'django-db',
|
||||
'NAME': os.environ['POSTGRES_DB'],
|
||||
'USER': os.environ['POSTGRES_USER'],
|
||||
'PASSWORD': os.environ['POSTGRES_PASSWORD'],
|
||||
'ENGINE': 'django.db.backends.sqlite3',
|
||||
'NAME': BASE_DIR / 'db.sqlite3',
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user