generated from lucien/api-template
add: improved the frontend and the backend by adding websockets
This commit is contained in:
parent
ecf7b61aca
commit
fbf7821320
18 changed files with 255 additions and 65 deletions
|
@ -71,15 +71,17 @@ export default function ChannelPage() {
|
|||
}, [name]);
|
||||
|
||||
useEffect(() => {
|
||||
const id = setInterval(() => {
|
||||
axios
|
||||
.get(`/api/channels/${name}/messages`).then((res) => {
|
||||
setMessages(res.data)
|
||||
})
|
||||
}, 2000)
|
||||
|
||||
return () => { clearInterval(id) }
|
||||
}, [])
|
||||
const socket = new WebSocket(`/api/channels/${name}`);
|
||||
|
||||
socket.addEventListener('message', function (event) {
|
||||
if (event.data === "new_message" || event.data === "delete_message") {
|
||||
axios
|
||||
.get(`/api/channels/${name}/messages`).then((res) => {
|
||||
setMessages(res.data)
|
||||
})
|
||||
}
|
||||
});
|
||||
}, [name])
|
||||
|
||||
useEffect(() => {
|
||||
const words = message.toString().split(" ");
|
||||
|
@ -102,7 +104,14 @@ export default function ChannelPage() {
|
|||
|
||||
|
||||
if (!channel || !messages) {
|
||||
return <div>Loading...</div>;
|
||||
return (
|
||||
<div className="channel-page">
|
||||
<TopBar user={user} />
|
||||
<div className="channel">
|
||||
<p>Loading...</p>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
return (
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue