tanuki-s-forum/front/src/main.tsx

40 lines
1.4 KiB
TypeScript

import { createRoot } from 'react-dom/client'
import { BrowserRouter, Routes, Route } from 'react-router-dom'
import './index.css'
import Home from './pages/Home'
import ChannelPage from './pages/ChannelPage'
import UserPage from './pages/UserPage'
import Login from './pages/Login'
import Register from './pages/Register'
import CreateChannel from './pages/CreateChannel'
import ChannelsPage from './pages/ChannelsPage'
import UsersPage from './pages/UsersPage'
import EditProfile from './pages/EditProfile'
const socket = new WebSocket("/api/ws");
setInterval(() => {
socket.send(JSON.stringify({ type: "ping" }));
}, 30 * 1000);
socket.addEventListener('message', function (event) {
const data = JSON.parse(event.data);
console.log(data);
});
createRoot(document.getElementById('root')!).render(
<BrowserRouter>
<Routes>
<Route path="/" element={<Home socket={socket} />} />
<Route path="/c/:name" element={<ChannelPage socket={socket} />} />
<Route path="/u/:username" element={<UserPage socket={socket} />} />
<Route path="/login" element={<Login />} />
<Route path="/register" element={<Register />} />
<Route path="/create-channel" element={<CreateChannel />} />
<Route path="/channels" element={<ChannelsPage socket={socket} />} />
<Route path="/users" element={<UsersPage socket={socket} />} />
<Route path="/edit-profile" element={<EditProfile />} />
</Routes>
</BrowserRouter>
)