diff --git a/src/main/client/src/component/Chat.jsx b/src/main/client/src/component/Chat.jsx index 6e4966b..84335ec 100644 --- a/src/main/client/src/component/Chat.jsx +++ b/src/main/client/src/component/Chat.jsx @@ -113,7 +113,21 @@ export const Chat = ({chatId, className}) => { message.user ? ( {message.user + ": " + message.message} ) : ( - {message.message} + message.type ? ( + <> + + + {Object.keys(message.pair).map((key, i) => ( + + + + + ))} +
Spiel gestartet
{key}{message.pair[key]}
+ + ) : ( + {message.message} + ) )}

))} diff --git a/src/main/client/src/feature/game/GamePanel.jsx b/src/main/client/src/feature/game/GamePanel.jsx index 8b95b00..303955a 100644 --- a/src/main/client/src/feature/game/GamePanel.jsx +++ b/src/main/client/src/feature/game/GamePanel.jsx @@ -1,7 +1,6 @@ import { useCallback, useContext, - useEffect, } from "react" import { useParams, diff --git a/src/main/java/com/bernd/ChatController.java b/src/main/java/com/bernd/ChatController.java index dadee10..dbc37fd 100644 --- a/src/main/java/com/bernd/ChatController.java +++ b/src/main/java/com/bernd/ChatController.java @@ -48,7 +48,7 @@ public ChatWithUsers getChat(@PathVariable String id) { public void sendChat(ChatRequest chatRequest, Principal principal) { String user = Auth.getPrincipal(principal); Chat chat = chats.get(chatRequest.id()); - ChatMessage message = new ChatMessage(chat.counter().getAndIncrement(), chatRequest.message(), user); + ChatMessage message = new ChatMessage(chat.counter().getAndIncrement(), chatRequest.message(), user, false, null); chat.messages().add(message); roomManager.updateRooms(user, chat.id()); operations.convertAndSend("/topic/chat/" + chat.id(), message); diff --git a/src/main/java/com/bernd/GameController.java b/src/main/java/com/bernd/GameController.java index c68e9c8..a65da1e 100644 --- a/src/main/java/com/bernd/GameController.java +++ b/src/main/java/com/bernd/GameController.java @@ -6,13 +6,12 @@ import com.bernd.model.ActiveGame; import com.bernd.model.Chat; import com.bernd.model.ChatMessage; -import com.bernd.model.ChatRequest; import com.bernd.model.Game; import com.bernd.model.Move; import com.bernd.model.OpenGame; import com.bernd.model.ViewGame; -import com.bernd.util.Auth; import com.bernd.util.RandomString; +import java.util.HashMap; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.messaging.core.MessageSendingOperations; @@ -88,7 +87,7 @@ public void action(Move move, Principal p) { Move lastMove = game.getLastMove(); if (lastMove.end()) { Chat chat = chats.get(game.id()); - ChatMessage message = new ChatMessage(chat.counter().getAndIncrement(), game.getScore(), null); + ChatMessage message = new ChatMessage(chat.counter().getAndIncrement(), game.getScore(), null, false, null); chat.messages().add(message); operations.convertAndSend("/topic/chat/" + chat.id(), message); } @@ -136,6 +135,15 @@ public ResponseEntity accept(@RequestBody AcceptRequest acceptRequest) { OpenGame openGame = openGames.remove(acceptRequest.game().user()); Game fullGame = games.put(openGame.accept(principal, acceptRequest)); activeGames.put(ActiveGame.fromGame(fullGame)); + Chat chat = chats.get(openGame.id()); + + HashMap spielwerte = new HashMap<>(); + spielwerte.put("Handicap", Integer.toString(fullGame.handicap())); + spielwerte.put("Black", fullGame.black()); + spielwerte.put("White", fullGame.white()); + ChatMessage typeMessage = new ChatMessage(chat.counter().getAndIncrement(), "", null,true, spielwerte); + chat.messages().add(typeMessage); + operations.convertAndSend("/topic/chat/" + chat.id(), typeMessage); operations.convertAndSend("/topic/game/" + fullGame.id(), fullGame.toView()); operations.convertAndSend("/topic/lobby/open_games", openGames.games()); operations.convertAndSend("/topic/lobby/active_games", activeGames.games()); diff --git a/src/main/java/com/bernd/model/ChatMessage.java b/src/main/java/com/bernd/model/ChatMessage.java index 78f7ab1..4e48efa 100644 --- a/src/main/java/com/bernd/model/ChatMessage.java +++ b/src/main/java/com/bernd/model/ChatMessage.java @@ -1,7 +1,11 @@ package com.bernd.model; +import java.util.HashMap; + public record ChatMessage( int n, String message, - String user) { + String user, + boolean type, + HashMap pair) { }