diff --git a/client/src/App.jsx b/client/src/App.jsx
index 8a8a204..8dc227f 100644
--- a/client/src/App.jsx
+++ b/client/src/App.jsx
@@ -1,31 +1,51 @@
import { useState, useEffect } from 'react'
-import logo from './logo.svg'
import io from 'socket.io-client'
-// import './App.css'
+
+import PlayerCard from './components/PlayerCard';
+
+import "./styles.css";
function App() {
const [socket, setSocket] = useState();
+ const [state, setState] = useState({
+ socket: null,
+ players: null,
+ id: null,
+ })
useEffect(() => {
const newSocket = io("http://localhost:8000");
- setSocket(newSocket);
+ setState({...state, socket: newSocket});
return () => newSocket.close();
- }, [setSocket]);
+ }, []);
useEffect(() => {
- if (!socket) return;
- socket.on('connection', (data) => {
- console.log('connected!' + data);
- })
- }, [socket]);
+ if (state.socket) {
+ state.socket.on('connect', (data) => {
+ console.log("connection to Express successful!");
+ console.log(data);
+
+ setState({
+ ...state,
+ id: state.socket.id,
+ players: data
+ });
+
+ // state.socket.emit('connect', null);
+ })
+ }
+ }, [state.socket]);
return (
-
-
- Hello Vite + React!
-
+
Hello Vite + React!
+ {
Your socket ID is: {state.id || ''}
}
+ {
Active players: {state.players || ''}
}
+
+
)
}
diff --git a/client/src/components/LeaderBoard.jsx b/client/src/components/LeaderBoard.jsx
new file mode 100644
index 0000000..e69de29
diff --git a/client/src/components/PlayerCard.jsx b/client/src/components/PlayerCard.jsx
new file mode 100644
index 0000000..8a56051
--- /dev/null
+++ b/client/src/components/PlayerCard.jsx
@@ -0,0 +1,7 @@
+export default function PlayerCard({ name, votes }) {
+ return (
+ <>
+ Name: {name}
+ >
+ )
+}
\ No newline at end of file
diff --git a/client/src/styles.css b/client/src/styles.css
new file mode 100644
index 0000000..cbcc291
--- /dev/null
+++ b/client/src/styles.css
@@ -0,0 +1,7 @@
+.App {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ background-color: lightgray;
+ height: max(900px, 100vh);
+}
\ No newline at end of file
diff --git a/index.js b/index.js
index bbba620..90fe7c2 100644
--- a/index.js
+++ b/index.js
@@ -13,12 +13,27 @@ const io = socketIO(server, {
}
});
+let players = [];
+
server.listen(8000, (err) => {
if (err) console.log(err);
console.log("Listening on 8000");
io.on('connection', (socket) => {
+ if (players.length === 0) players.push(socket.id);
+
console.log('new client connected.');
- socket.emit('connection', 'data');
+ console.log(`players: ${players}`);
+ console.log('');
+
+ socket.emit('connection', players);
+
+ socket.on('disconnect', () => {
+ let found = players.indexOf(socket.id);
+ players = players.splice(found, 0, '');
+ console.log(`player ${socket.id} disconnected`);
+ console.log(`players: ${players}`);
+ console.log('');
+ })
});
})