diff --git a/traque-back/images/missing_image.jpg b/traque-back/images/missing_image.jpg new file mode 100644 index 0000000..cba7e59 Binary files /dev/null and b/traque-back/images/missing_image.jpg differ diff --git a/traque-back/photo.js b/traque-back/photo.js index bfdf629..4a1ad59 100644 --- a/traque-back/photo.js +++ b/traque-back/photo.js @@ -61,23 +61,25 @@ export function initPhotoUpload() { //App handler for serving the photo of a team given its secret ID app.get("/photo/my", (req, res) => { let team = game.getTeam(Number(req.query.team)); + const imagePath = path.join(process.cwd(), UPLOAD_DIR, team.id.toString()); if (team) { res.set("Content-Type", "image/png") res.set("Access-Control-Allow-Origin", "*"); - res.sendFile(process.cwd() + "/" + UPLOAD_DIR + "/" + team.id); + res.sendFile(fs.existsSync(imagePath) ? imagePath : path.join(process.cwd(), "images", "missing_image.jpg")); } else { - res.send(400, "Team not found") + res.status(400).send("Team not found") } }) //App handler for serving the photo of the team chased by the team given by its secret ID app.get("/photo/enemy", (req, res) => { let team = game.getTeam(Number(req.query.team)); + const imagePath = path.join(process.cwd(), UPLOAD_DIR, team.chasing.toString()); if (team) { res.set("Content-Type", "image/png") res.set("Access-Control-Allow-Origin", "*"); - res.sendFile(process.cwd() + "/" + UPLOAD_DIR + "/" + team.chasing); + res.sendFile(fs.existsSync(imagePath) ? imagePath : path.join(process.cwd(), "images", "missing_image.jpg")); } else { - res.send(400, "Team not found") + res.status(400).send("Team not found") } }) } \ No newline at end of file diff --git a/traque-back/team_socket.js b/traque-back/team_socket.js index b8ef61f..d383a54 100644 --- a/traque-back/team_socket.js +++ b/traque-back/team_socket.js @@ -73,24 +73,26 @@ export function initTeamSocket() { logoutPlayer(socket.id) }); - socket.on("login", (loginTeamId) => { + socket.on("login", (loginTeamId, callback) => { if (game.getTeam(loginTeamId) === undefined) { socket.emit("login_response", false); - return; + callback({ isLoggedIn : false, message: "Login denied"}); + } else { + logoutPlayer(socket.id) + teamId = loginTeamId; + let team = game.getTeam(loginTeamId); + team.sockets.push(socket.id); + sendUpdatedTeamInformations(loginTeamId); + socket.emit("login_response", true); + socket.emit("game_state", game.state) + socket.emit("game_settings", game.settings) + socket.emit("zone", zone.currentZone) + socket.emit("new_zone", { + begin: zone.currentStartZone, + end: zone.nextZone + }) + callback({ isLoggedIn : true, message: "Logged in"}); } - logoutPlayer(socket.id) - teamId = loginTeamId; - let team = game.getTeam(loginTeamId); - team.sockets.push(socket.id); - sendUpdatedTeamInformations(loginTeamId); - socket.emit("login_response", true); - socket.emit("game_state", game.state) - socket.emit("game_settings", game.settings) - socket.emit("zone", zone.currentZone) - socket.emit("new_zone", { - begin: zone.currentStartZone, - end: zone.nextZone - }) }); socket.on("logout", () => { diff --git a/traque-front/components/admin/mapPicker.jsx b/traque-front/components/admin/mapPicker.jsx index c9d7993..6d58c30 100644 --- a/traque-front/components/admin/mapPicker.jsx +++ b/traque-front/components/admin/mapPicker.jsx @@ -41,7 +41,7 @@ export function CircularAreaPicker({ area, setArea, markerPosition, ...props }) const location = useLocation(Infinity); const { handleClick, handleMouseMove, center, radius } = useMapCircleDraw(area, setArea); return ( - +
- +
diff --git a/traque-front/components/admin/teamEdit.jsx b/traque-front/components/admin/teamEdit.jsx index 02e614c..0829c88 100644 --- a/traque-front/components/admin/teamEdit.jsx +++ b/traque-front/components/admin/teamEdit.jsx @@ -95,7 +95,7 @@ export default function TeamEdit({ selectedTeamId, setSelectedTeamId }) { updateTeam(team.id, { startingArea })} markerPosition={team?.currentLocation} />
- + {e.target.src = "/images/missing_image.jpg"}} />
diff --git a/traque-front/public/images/missing_image.jpg b/traque-front/public/images/missing_image.jpg new file mode 100644 index 0000000..cba7e59 Binary files /dev/null and b/traque-front/public/images/missing_image.jpg differ