diff --git a/src/layout/pages/MainLobby.tsx b/src/layout/pages/MainLobby.tsx index 5d1da54..46c2cee 100644 --- a/src/layout/pages/MainLobby.tsx +++ b/src/layout/pages/MainLobby.tsx @@ -1,6 +1,7 @@ import React from "react"; import useTitle from "../../utils/hooks/TitleHook"; import Card from "../components/Card"; +import {useNavigate} from "react-router"; const ROOM_URL = `http://${process.env.REACT_APP_API_URL}/room`; @@ -8,18 +9,16 @@ const MainLobby = () => { useTitle('Mau-Mau Lobby'); + const navigateTo = useNavigate(); + const handleCreateRoom = () => { fetch(ROOM_URL, { method: 'POST', }).then(r => r.json()).then(data => { - window.location.href = `/room/${data}`; + navigateTo(`/room/${data}`) }); } - const gotoRooms = () => { - window.location.host = '/rooms'; - } - return (

Mau-Mau

@@ -28,7 +27,7 @@ const MainLobby = () => {

Host Game

-
+
navigateTo('/rooms')}>

Join Game

diff --git a/src/layout/pages/Room.tsx b/src/layout/pages/Room.tsx index d0cc86f..fa1e076 100644 --- a/src/layout/pages/Room.tsx +++ b/src/layout/pages/Room.tsx @@ -1,6 +1,6 @@ import useWebSocket from "react-use-websocket"; import React from "react"; -import {useParams} from "react-router"; +import {useNavigate, useParams} from "react-router"; import {GHButton} from "../components/Button"; import useTitle from "../../utils/hooks/TitleHook"; import Hand from "../components/Hand"; @@ -18,6 +18,8 @@ const Room = () => { useTitle('Mau!'); + const navigateTo = useNavigate(); + const {roomId} = useParams(); const WS_URL = `ws://${process.env.REACT_APP_API_URL}/room/${roomId}`; @@ -43,7 +45,7 @@ const Room = () => { const handleLeaveRoom = () => { const socket = websocket.getWebSocket(); if (socket) socket.close(); - window.location.href = '/'; + navigateTo('/'); } const handleCardSend = (card: string) => { diff --git a/src/layout/pages/Rooms.tsx b/src/layout/pages/Rooms.tsx index 2e11747..0779948 100644 --- a/src/layout/pages/Rooms.tsx +++ b/src/layout/pages/Rooms.tsx @@ -1,11 +1,13 @@ import useTitle from "../../utils/hooks/TitleHook"; import React from "react"; +import {useNavigate} from "react-router"; const ROOM_URL = `http://${process.env.REACT_APP_API_URL}/room`; const Rooms = () => { useTitle('Mau-Mau Rooms'); + const navigateTo = useNavigate(); const [rooms, setRooms] = React.useState([]); @@ -15,10 +17,6 @@ const Rooms = () => { .then(data => setRooms(data)); }, []); - const gotoRoom = (room: string) => { - window.location.host = `/room/${room}`; - } - return (

Rooms

@@ -26,7 +24,7 @@ const Rooms = () => { { rooms.map((room, index) => { return
  • gotoRoom(room)}>{room}
  • + onClick={() => navigateTo(`/room/${room}`)}>{room} }) }