auth WIP 2

This commit is contained in:
2025-08-28 18:37:26 +03:00
parent 533da219b3
commit d23546d6e0
9 changed files with 97 additions and 35 deletions

View File

@ -9,7 +9,7 @@ type AuthContextType = {
const AuthContext = createContext<AuthContextType>({
token: null,
setToken: () => { },
setToken: () => {},
});
@ -20,15 +20,19 @@ export const AuthProvider = ({ children }: { children: JSX.Element }) => {
const savedToken = localStorage.getItem("token");
if (savedToken) {
setTokenState(savedToken);
console.log("meow")
}
console.log(savedToken)
}, []);
const setToken = (newToken: string | null) => {
setTokenState(newToken);
if (newToken) {
localStorage.setItem("token", newToken);
console.log("saved")
} else {
localStorage.removeItem("token");
console.log("removed")
}
};

View File

@ -3,9 +3,7 @@ import AuthContext from "./auth-provider"
function useAuth() {
return (
useContext(AuthContext)
);
return useContext(AuthContext);
}
export default useAuth;

View File

@ -1,12 +1,15 @@
import { useNavigate } from "react-router-dom";
import useAuth from "./auth";
const logout = () => {
// eslint-disable-next-line react-hooks/rules-of-hooks
const { setToken: setAuth } = useAuth();
const useLogout = () => {
const { setToken } = useAuth();
const navigate = useNavigate();
return () => {
setAuth(false);
setToken(null);
navigate("/login");
};
}
export default logout;
export default useLogout;

View File

@ -1,16 +1,10 @@
const ping = () => {
const ping = async (token: string | null): Promise<boolean> => {
// TODO: request to API
return () => {
return true;
};
}
// const ping = async (token: string): Promise<boolean> => {
// return new Promise((resolve) => {
// setTimeout(() => {
// resolve(!!token);
// }, 300);
// });
// };
return new Promise((resolve) => {
setTimeout(() => {
resolve(!!token);
}, 300);
});
};
export default ping;