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