add: added an auth middleware to simplify code

This commit is contained in:
Lukian 2025-04-03 12:30:17 +02:00
parent c34df6609c
commit e0efe57f5c
9 changed files with 104 additions and 70 deletions

View file

@ -26,7 +26,7 @@ export default function ChannelPage() {
);
})
.catch((err) => {
console.error(err.response.data.message);
console.error(err.response);
});
}
@ -42,7 +42,7 @@ export default function ChannelPage() {
);
})
.catch((err) => {
console.error(err.response.data.message);
console.error(err.response);
});
}

View file

@ -19,25 +19,48 @@ export default function Home() {
setUser(res.data)
})
.catch((err) => {
console.error(err)
console.error(err.response)
})
}
}
axios
.get("/api/channels").then((res) => {
.get("/api/channels")
.then((res) => {
setChannels(res.data)
})
.catch((err) => {
console.error(err)
console.error(err.response)
})
axios
.get("/api/lastmessages").then((res) => {
.get("/api/lastmessages")
.then((res) => {
setMessages(res.data)
})
.catch((err) => {
console.error(err.response)
}
)
}, [])
useEffect(() => {
const id = setInterval(() => {
axios
.get("/api/lastmessages").then((res) => {
setMessages(res.data)
}
)
axios
.get("/api/channels").then((res) => {
setChannels(res.data)
}
)
}, 5000)
return () => { clearInterval(id) }
}, [])
return (
<div>
<h1>Home</h1>
@ -74,7 +97,7 @@ export default function Home() {
</li>
))}
</ul>
<img src="cat.jpg" alt="cat" className="cat"/>
<img src="osaka_arch.png" alt="osaka" className="osaka"/>
</div>
)
}

View file

@ -16,7 +16,7 @@ export default function Login() {
navigate("/");
})
.catch((err) => {
alert(err.response.data.message);
alert(err.response);
});
}

View file

@ -9,18 +9,22 @@ export default function Register () {
function handleSubmit(e: React.FormEvent) {
e.preventDefault();
axios.post("/api/auth/register", { username, password }).then(() => {
axios
.post("/api/auth/login", { username, password })
.then((res) => {
localStorage.setItem("token", res.data.token);
navigate("/");
})
.catch((err) => {
alert(err.response.data.message);
}
);
});
axios
.post("/api/auth/register", { username, password }).then(() => {
axios
.post("/api/auth/login", { username, password })
.then((res) => {
localStorage.setItem("token", res.data.token);
navigate("/");
})
.catch((err) => {
alert(err.response);
}
);
})
.catch((err) => {
alert(err.response);
});
}
return (