App.tsx 933 octets
Newer Older
import { useEffect, useState } from 'react';
Quentin Vauthier's avatar
Quentin Vauthier a validé
import './App.css'
import Bouton from "./interface/Bouton";
import CatHistory from "./interface/CatHistory";
import Chats from "./interface/Chats";
import useWebSocket from 'react-use-websocket';
import { ToastContainer, toast } from 'react-toastify';
import 'react-toastify/dist/ReactToastify.css';
Quentin Vauthier's avatar
Quentin Vauthier a validé

function App() {

  const [status, setStatus] = useState({})
  const { sendMessage, lastMessage, readyState } = useWebSocket('ws://localhost:3001');

  useEffect(() => {
    if (lastMessage !== null) setStatus(JSON.parse(lastMessage.data))
  }, [lastMessage]);
Quentin Vauthier's avatar
Quentin Vauthier a validé
  return (
    <div className="App">
        <div>
            <h1>La chatière de Pina !</h1>
        </div>
        <Bouton statusLocked={status.locked} sendMessage={sendMessage} />
        <Chats statusCatsInside={status.catsInside} />
        <ToastContainer />
Quentin Vauthier's avatar
Quentin Vauthier a validé
    </div>
  )
}

export default App