diff --git a/public/favicon.ico b/public/favicon.ico deleted file mode 100644 index 718d6fe..0000000 Binary files a/public/favicon.ico and /dev/null differ diff --git a/public/icon.svg b/public/icon.svg new file mode 100644 index 0000000..054b45c --- /dev/null +++ b/public/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/next.svg b/public/next.svg deleted file mode 100644 index 5174b28..0000000 --- a/public/next.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/vercel.svg b/public/vercel.svg deleted file mode 100644 index d2f8422..0000000 --- a/public/vercel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/socket/src/index.js b/socket/src/index.js index 87b2f8e..76b6d4c 100644 --- a/socket/src/index.js +++ b/socket/src/index.js @@ -12,7 +12,7 @@ const io = new Server({ path: "/ws/", }) -io.listen(5057) +io.listen(5157) io.on("connection", (socket) => { console.log(`A user connected ${socket.id}`) diff --git a/socket/src/roles/manager.js b/socket/src/roles/manager.js index da24828..9014f61 100644 --- a/socket/src/roles/manager.js +++ b/socket/src/roles/manager.js @@ -9,7 +9,7 @@ const Manager = { return } - let roomInvite = "207223" //generateRoomId() + let roomInvite = generateRoomId() game.room = roomInvite game.manager = socket.id diff --git a/src/assets/logo.svg b/src/assets/logo.svg index 0d6fbee..f77d39f 100644 --- a/src/assets/logo.svg +++ b/src/assets/logo.svg @@ -1,13 +1 @@ - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/src/components/game/GameWrapper.jsx b/src/components/game/GameWrapper.jsx index c21b312..3c10bac 100644 --- a/src/components/game/GameWrapper.jsx +++ b/src/components/game/GameWrapper.jsx @@ -29,7 +29,7 @@ export default function GameWrapper({ children, textNext, onNext, manager }) {
{questionState && ( -
+
{`${questionState.current} / ${questionState.total}`}
)} diff --git a/src/components/game/states/Answers.jsx b/src/components/game/states/Answers.jsx index 50cff8f..30d6f5d 100644 --- a/src/components/game/states/Answers.jsx +++ b/src/components/game/states/Answers.jsx @@ -69,7 +69,7 @@ export default function Answers({ return (
-

+

{question}

@@ -101,12 +101,12 @@ export default function Answers({ {!responses && (
- Time - {cooldown} + Time + {cooldown}
- Answers - {totalAnswer} + Answers + {totalAnswer}
)} diff --git a/src/components/game/states/Leaderboard.jsx b/src/components/game/states/Leaderboard.jsx index 7ca705a..3cb41b0 100644 --- a/src/components/game/states/Leaderboard.jsx +++ b/src/components/game/states/Leaderboard.jsx @@ -6,7 +6,7 @@ export default function Leaderboard({ data: { leaderboard } }) {
{leaderboard.map(({ username, points }) => ( -
+
{username} {points}
diff --git a/src/components/game/states/Question.jsx b/src/components/game/states/Question.jsx index f61a9a5..603c7eb 100644 --- a/src/components/game/states/Question.jsx +++ b/src/components/game/states/Question.jsx @@ -7,13 +7,13 @@ export default function Question({ data: { question } }) { return (
-

+

{question}

diff --git a/src/components/game/states/Start.jsx b/src/components/game/states/Start.jsx index 22da620..663e524 100644 --- a/src/components/game/states/Start.jsx +++ b/src/components/game/states/Start.jsx @@ -1,8 +1,7 @@ -import Loader from "@/components/Loader" import { useSocketContext } from "@/context/socket" -import { useEffect, useState } from "react" +import { useState } from "react" -export default function Start({ data: { text } }) { +export default function Start({ data: { text, inviteCode } }) { const { socket } = useSocketContext() const [playerList, setPlayerList] = useState([]) @@ -10,12 +9,12 @@ export default function Start({ data: { text } }) { setPlayerList([...playerList, player]) }) - useEffect(() => { - socket.emit("manager:createRoom") - }, []) - return (
+
+ {inviteCode} +
+

{text}

diff --git a/src/components/icons/CricleCheck.jsx b/src/components/icons/CricleCheck.jsx index 9242d7d..1ae5ec5 100644 --- a/src/components/icons/CricleCheck.jsx +++ b/src/components/icons/CricleCheck.jsx @@ -1,12 +1,12 @@ export default function CricleCheck({ className }) { return ( diff --git a/src/components/icons/CricleXmark.jsx b/src/components/icons/CricleXmark.jsx index b1de9df..fb7d0e0 100644 --- a/src/components/icons/CricleXmark.jsx +++ b/src/components/icons/CricleXmark.jsx @@ -1,12 +1,12 @@ export default function CricleXmark({ className }) { return ( diff --git a/src/context/socket.jsx b/src/context/socket.jsx index 8c19021..d47a78e 100644 --- a/src/context/socket.jsx +++ b/src/context/socket.jsx @@ -2,7 +2,7 @@ import { io } from "socket.io-client" import { createContext, useContext, useState } from "react" import { WEBSOCKET_URL } from "@/constants" -export const socket = io("http://localhost:5057", { +export const socket = io("http://localhost:5157", { path: "/ws/", //addTrailingSlash: false, transports: ["websocket"], diff --git a/src/pages/_document.js b/src/pages/_document.js index 6670ab4..5a86047 100644 --- a/src/pages/_document.js +++ b/src/pages/_document.js @@ -3,7 +3,10 @@ import { Html, Head, Main, NextScript } from "next/document" export default function Document() { return ( - + + + Rahoot ! +
diff --git a/src/pages/index.js b/src/pages/index.js index f429450..2130d0f 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -28,7 +28,7 @@ export default function Home() {
)} - + {!player ? : } diff --git a/src/pages/manager.jsx b/src/pages/manager.jsx index 9431fbc..ed27938 100644 --- a/src/pages/manager.jsx +++ b/src/pages/manager.jsx @@ -1,3 +1,4 @@ +import Button from "@/components/Button" import GameWrapper from "@/components/game/GameWrapper" import Answers from "@/components/game/states/Answers" import Leaderboard from "@/components/game/states/Leaderboard" @@ -24,6 +25,7 @@ export default function Manager() { const [nextText, setNextText] = useState("Start") const [state, setState] = useState({ + created: false, status: { name: "SHOW_START", data: { text: "Waiting for the players" }, @@ -45,6 +47,24 @@ export default function Manager() { }) }) + socket.on("manager:inviteCode", (inviteCode) => { + setState({ + ...state, + created: true, + status: { + ...state.status, + data: { + ...state.status.data, + inviteCode: inviteCode, + }, + }, + }) + }) + + const handleCreate = () => { + socket.emit("manager:createRoom") + } + const handleSkip = () => { setNextText("Skip") @@ -64,11 +84,19 @@ export default function Manager() { } return ( - - {gameStateComponent[state.status.name] && - createElement(gameStateComponent[state.status.name], { - data: state.status.data, - })} - + <> + {!state.created ? ( +
+ +
+ ) : ( + + {gameStateComponent[state.status.name] && + createElement(gameStateComponent[state.status.name], { + data: state.status.data, + })} + + )} + ) } diff --git a/tailwind.config.js b/tailwind.config.js index 6deebde..f2c382e 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -13,5 +13,6 @@ module.exports = { }, }, }, + safelist: ["grid-cols-4", "grid-cols-3", "grid-cols-2"], plugins: [], }