mirror of
https://git.rezel.net/LudoTech/traque.git
synced 2026-02-09 10:20:16 +01:00
Interface d'attente + logout
This commit is contained in:
@@ -4,6 +4,7 @@ import { useLocalStorage } from './useLocalStorage';
|
||||
import { usePathname } from 'next/navigation';
|
||||
|
||||
const LOGIN_MESSAGE = "login";
|
||||
const LOGOUT_MESSAGE = "logout";
|
||||
const LOGIN_RESPONSE_MESSAGE = "login_response";
|
||||
|
||||
export function useSocketAuth(socket, passwordName) {
|
||||
@@ -13,15 +14,24 @@ export function useSocketAuth(socket, passwordName) {
|
||||
const [savedPassword, setSavedPassword, savedPasswordLoading] = useLocalStorage(passwordName, null);
|
||||
|
||||
useEffect(() => {
|
||||
console.log("Checking saved password", savedPassword, loggedIn);
|
||||
if (savedPassword && !loggedIn) {
|
||||
console.log("Logging in with saved password", savedPassword);
|
||||
socket.emit(LOGIN_MESSAGE, savedPassword);
|
||||
}
|
||||
}, [savedPassword]);
|
||||
|
||||
function login(password) {
|
||||
console.log("Logging", password);
|
||||
setSavedPassword(password)
|
||||
}
|
||||
|
||||
function logout() {
|
||||
setSavedPassword(null);
|
||||
setLoggedIn(false);
|
||||
socket.emit(LOGOUT_MESSAGE)
|
||||
}
|
||||
|
||||
useSocketListener(socket, LOGIN_RESPONSE_MESSAGE,(loginResponse) => {
|
||||
setWaitingForResponse(false);
|
||||
setLoggedIn(loginResponse);
|
||||
@@ -39,5 +49,5 @@ export function useSocketAuth(socket, passwordName) {
|
||||
}, [waitingForResponse, savedPasswordLoading, savedPassword]);
|
||||
|
||||
|
||||
return {login,password: savedPassword, loggedIn, loading};
|
||||
return {login,logout,password: savedPassword, loggedIn, loading};
|
||||
}
|
||||
Reference in New Issue
Block a user