diff --git a/django/chat/views/ask.py b/django/chat/views/ask.py index 1442cdc..50c1c69 100644 --- a/django/chat/views/ask.py +++ b/django/chat/views/ask.py @@ -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): @@ -68,8 +68,6 @@ class AskView(APIView): if not AskModel().is_asked(asked_id, asker_id): return Response(status=status.HTTP_204_NO_CONTENT) return Response(status=status.HTTP_200_OK) - - class AskAcceptView(APIView): @@ -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) diff --git a/django/frontend/static/css/gameOffline.css b/django/frontend/static/css/gameOffline.css index 909af74..37e6d50 100644 --- a/django/frontend/static/css/gameOffline.css +++ b/django/frontend/static/css/gameOffline.css @@ -1,3 +1,7 @@ +body { + overflow: hidden; +} + #gameCanvas { display: block; } diff --git a/django/frontend/static/js/api/Notice.js b/django/frontend/static/js/api/Notice.js index 43e1771..57a253b 100644 --- a/django/frontend/static/js/api/Notice.js +++ b/django/frontend/static/js/api/Notice.js @@ -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') { diff --git a/django/frontend/static/js/api/chat/Channel.js b/django/frontend/static/js/api/chat/Channel.js index aff7f93..c3f6de4 100644 --- a/django/frontend/static/js/api/chat/Channel.js +++ b/django/frontend/static/js/api/chat/Channel.js @@ -24,7 +24,7 @@ class Channel { this.messages.push(new Message( this.channel, - data.author, + data.author_id, data.content, data.time, )); diff --git a/django/frontend/static/js/api/chat/Channels.js b/django/frontend/static/js/api/chat/Channels.js index 738adf3..f91d730 100644 --- a/django/frontend/static/js/api/chat/Channels.js +++ b/django/frontend/static/js/api/chat/Channels.js @@ -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); } diff --git a/django/frontend/static/js/views/PongOfflineView.js b/django/frontend/static/js/views/PongOfflineView.js index 70215a3..a823d17 100644 --- a/django/frontend/static/js/views/PongOfflineView.js +++ b/django/frontend/static/js/views/PongOfflineView.js @@ -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; diff --git a/django/frontend/static/js/views/Search.js b/django/frontend/static/js/views/Search.js index 180a0d7..e1c74e6 100644 --- a/django/frontend/static/js/views/Search.js +++ b/django/frontend/static/js/views/Search.js @@ -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++; }); diff --git a/django/transcendence/settings.py b/django/transcendence/settings.py index b747a7e..d157a6a 100644 --- a/django/transcendence/settings.py +++ b/django/transcendence/settings.py @@ -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', } }