fix: fixed websockets

This commit is contained in:
Lukian 2025-04-09 11:49:26 +02:00
parent edc6f34733
commit 1fee32f1d2
5 changed files with 14 additions and 53 deletions

View file

@ -7,7 +7,7 @@ import axios from "axios";
import "../styles/ChannelPage.css";
export default function ChannelPage() {
export default function ChannelPage({socket}: {socket: WebSocket}) {
const { name } = useParams();
const [channel, setChannel] = useState<Channel>();
const [messages, setMessages] = useState<Messages>();
@ -70,13 +70,7 @@ export default function ChannelPage() {
});
}, [name]);
useEffect(() => {
const socket = new WebSocket(`/api/ws`);
const id = setInterval(() => {
socket.send(JSON.stringify("ping"));
}, 10000);
useEffect(() => {
socket.addEventListener('message', function (event) {
const data = JSON.parse(event.data);
if ((data.type === "new_message" || data.type === "delete_message") && data.channel_id === channel?.id) {
@ -86,11 +80,6 @@ export default function ChannelPage() {
})
}
});
return () => {
clearInterval(id);
socket.close();
}
}, [channel])
useEffect(() => {