fix login redirects

This commit is contained in:
Kirill Ivlev 2024-12-18 17:22:14 +04:00
parent eb05627a98
commit 936a38a7a8
3 changed files with 15 additions and 8 deletions

View file

@ -21,7 +21,11 @@ api.interceptors.response.use(
(error) => {
if (error.response && error.response.status === 401) {
localStorage.removeItem('token');
window.location.href = '/login';
if(error.response.request.responseURL.indexOf('user/login') === -1) {
window.location.href = '/login';
} else {
return Promise.reject(error);
}
}
return Promise.reject(error);
}

BIN
src/assets/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

View file

@ -9,7 +9,7 @@ import {useNavigate} from "react-router-dom";
export function LoginPage() {
const [login,setLogin] = useState('');
const [password, setPassword] = useState('');
const [showWrongUserNameAndPasswordError, setShowWrongUserNameAndPasswordError] = useState(false);
const [errorMessage, setErrorMessage] = useState('');
const [registerResultMessage, setRegisterResultMessage] = useState('');
const auth = useAuth();
const navigate = useNavigate();
@ -21,11 +21,14 @@ export function LoginPage() {
password: password,
}).then((response) => {
auth.login(response.data.token);
setShowWrongUserNameAndPasswordError(false);
setErrorMessage('');
navigate('/');
}).catch((err) => {
console.log(err);
if(err.status === 401) {
setShowWrongUserNameAndPasswordError(true);
setErrorMessage('Wrong username or password');
} else {
setErrorMessage('Something went wrong');
}
})
}
@ -37,10 +40,10 @@ export function LoginPage() {
}).then((response) => {
if(response.status === 201) {
setRegisterResultMessage('User registered successfully. You can now log in.');
setShowWrongUserNameAndPasswordError(false);
setErrorMessage('');
}
}).catch(() => {
setRegisterResultMessage('Something went wrong');
setErrorMessage('Something went wrong');
});
}
@ -55,9 +58,9 @@ export function LoginPage() {
</div>
<div className={"flex flex-col items-center"}>
<div className={"lg:w-80 sm:w-3/4"}>
{ showWrongUserNameAndPasswordError && (
{ errorMessage && (
<div className={"p-4 rounded bg-red-200 text-black"}>
Wrong username or password
{ errorMessage }
</div>
)}
{ registerResultMessage && (