diff --git a/srcs/requirements/nestjs/api_back/src/chat/chat.gateway.ts b/srcs/requirements/nestjs/api_back/src/chat/chat.gateway.ts
index 554366f5..853e7155 100644
--- a/srcs/requirements/nestjs/api_back/src/chat/chat.gateway.ts
+++ b/srcs/requirements/nestjs/api_back/src/chat/chat.gateway.ts
@@ -1,3 +1,5 @@
+import { HttpException, HttpStatus, Injectable, Res } from '@nestjs/common';
+import { WsException } from '@nestjs/websockets';
import { WebSocketGateway, SubscribeMessage, WebSocketServer, MessageBody, ConnectedSocket, OnGatewayConnection, OnGatewayDisconnect } from '@nestjs/websockets';
import { UsersService } from 'src/users/users.service';
import { ChatService } from './chat.service';
@@ -22,12 +24,16 @@ implements OnGatewayConnection, OnGatewayDisconnect
@WebSocketServer()
server;
- async handleConnection(socket: socketDto) {
+ async handleConnection(socket: socketDto)
+ {
printCaller('- socket connected :', socket.id, socket.handshake.query.username);
socket.username = socket.handshake.query.username.toString();
- this.sockets.set(socket.username, socket);
+ if (!socket.username)
+ return;
+
+ this.sockets.set(socket.username, socket);
printCaller("--- socket.username:", socket.username);
let not_emit: string = `${socket.username}_not_emit`;
diff --git a/srcs/requirements/svelte/api_front/src/App.svelte b/srcs/requirements/svelte/api_front/src/App.svelte
index dddbb5ac..9c848f74 100644
--- a/srcs/requirements/svelte/api_front/src/App.svelte
+++ b/srcs/requirements/svelte/api_front/src/App.svelte
@@ -18,6 +18,7 @@
{#if ($location !== '/')}
{/if}
+
diff --git a/srcs/requirements/svelte/api_front/src/pages/game/client/pong.ts b/srcs/requirements/svelte/api_front/src/pages/game/client/pong.ts
index 30bfb089..6a60c2fe 100644
--- a/srcs/requirements/svelte/api_front/src/pages/game/client/pong.ts
+++ b/srcs/requirements/svelte/api_front/src/pages/game/client/pong.ts
@@ -60,7 +60,8 @@ function start_after_countdown()
window.addEventListener(
'keydown',
(e) => {
- e.preventDefault();
+ if (e.key === "ArrowUp" || e.key === "ArrowDown")
+ e.preventDefault();
pong.addKey(e.key);
},
{signal: abortControllerKeydown.signal}
@@ -70,7 +71,8 @@ function start_after_countdown()
window.addEventListener(
'keyup',
(e) => {
- e.preventDefault();
+ if (e.key === "ArrowUp" || e.key === "ArrowDown")
+ e.preventDefault();
pong.deleteKey(e.key);
},
{signal: abortControllerKeyup.signal}
diff --git a/srcs/requirements/svelte/api_front/src/pieces/chat/Chat.svelte b/srcs/requirements/svelte/api_front/src/pieces/chat/Chat.svelte
index 9640964b..0fa3fa5f 100644
--- a/srcs/requirements/svelte/api_front/src/pieces/chat/Chat.svelte
+++ b/srcs/requirements/svelte/api_front/src/pieces/chat/Chat.svelte
@@ -2,6 +2,7 @@
import Layouts from './Chat_layouts.svelte';
import { init_socket } from './Socket_chat';
+ import { user } from './Store_chat';
import { location } from 'svelte-spa-router';
let style_light =
@@ -40,8 +41,8 @@
bg_light_color: "rgb( 35, 35, 35)",
btn_color: "rgb(220, 220, 220)",
- btn_color_hover: "rgb(100, 100, 100)",
- btn_color_active: "rgb( 90, 90, 90)",
+ btn_color_hover: "rgb(160, 160, 160)",
+ btn_color_active: "rgb(150, 150, 150)",
btn_color_border: "rgb(150, 150, 150)",
btn_light_color: "rgb(235, 235, 235)",
@@ -61,10 +62,6 @@
let style = style_light;
- console.log("location:",$location);
- if ($location !== '/')
- init_socket();
-
function change_style(loc)
{
console.log("change color, location:", loc);
@@ -78,7 +75,16 @@
style = style_light;
}
- $: change_style($location);
+ init_socket();
+
+ $: change_style($location);
+ $: {
+ $location;
+ if (!user)
+ {
+ init_socket();
+ };
+ };
diff --git a/srcs/requirements/svelte/api_front/src/pieces/chat/Request_rooms.ts b/srcs/requirements/svelte/api_front/src/pieces/chat/Request_rooms.ts
index 2153c306..f12809f0 100644
--- a/srcs/requirements/svelte/api_front/src/pieces/chat/Request_rooms.ts
+++ b/srcs/requirements/svelte/api_front/src/pieces/chat/Request_rooms.ts
@@ -239,11 +239,11 @@ export async function remove_block_user(username: string): Promise
await fetch_chat_request('unblock', FetchMethod.POST, {username: username} );
}
-export async function list_block_user(username: string): Promise
+export async function list_block_user(username: string): Promise
{
to_print("in list_block_user");
- let response = await fetch_chat_request('listblock', FetchMethod.GET);
+ let response: FetchResponse = await fetch_chat_request('listblock', FetchMethod.GET);
to_print("response.users:", response.users);
return response.users;
diff --git a/srcs/requirements/svelte/api_front/src/pieces/chat/Socket_chat.ts b/srcs/requirements/svelte/api_front/src/pieces/chat/Socket_chat.ts
index f658d1b5..1c3e5889 100644
--- a/srcs/requirements/svelte/api_front/src/pieces/chat/Socket_chat.ts
+++ b/srcs/requirements/svelte/api_front/src/pieces/chat/Socket_chat.ts
@@ -1,28 +1,28 @@
import io from 'socket.io-client';
import { user, msgs, layout, set_socket, set_user } from './Store_chat';
import { to_print } from './Utils_chat';
+import { fetchUser } from '../utils';
const address = `http://${process.env.WEBSITE_HOST}:${process.env.WEBSITE_PORT}`;
export async function init_socket()
{
to_print("in init_socket");
- console.log("here");
- const response = await fetch(`${address}/api/v2/user`);
- const response_data = await response.json();
- to_print("-- response_data:", response_data);
+ const user = await fetchUser();
+ if (!user)
+ return;
- set_user(response_data);
+ set_user(user);
let socket = await io(address,
{
path: '/chat',
query:
{
- username: response_data.username,
+ username: user.username,
},
});
- console.log("horo");
+
set_socket(socket);
socket_states(socket);