diff --git a/common/src/main/java/lingo/common/ChatMessage.java b/common/src/main/java/lingo/common/ChatMessage.java new file mode 100644 index 0000000..75c5276 --- /dev/null +++ b/common/src/main/java/lingo/common/ChatMessage.java @@ -0,0 +1,32 @@ +package lingo.common; + +public class ChatMessage { + + private String username; + + private String message; + + public ChatMessage() {} + + public ChatMessage(String username, String message) { + this.username = username; + this.message = message; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + +} diff --git a/server/src/main/java/lingo/server/LingoController.java b/server/src/main/java/lingo/server/LingoController.java index 4c781bb..e25dfdd 100644 --- a/server/src/main/java/lingo/server/LingoController.java +++ b/server/src/main/java/lingo/server/LingoController.java @@ -26,6 +26,7 @@ import org.springframework.web.socket.messaging.SessionConnectedEvent; import org.springframework.web.socket.messaging.SessionDisconnectEvent; import lingo.client.api.StompTopics; +import lingo.common.ChatMessage; import lingo.common.Game; import lingo.common.Report; @@ -49,6 +50,12 @@ public class LingoController implements ApplicationListener usernameBySession = new HashMap<>(); + @MessageMapping("/chat") + public ChatMessage chat(String message, @Header(SESSION_ID_HEADER) String sessionId) { + final String username = usernameBySession.get(sessionId); + return new ChatMessage(username, message); + } + @MessageMapping("/guess") public void guess(String guess, @Header(SESSION_ID_HEADER) String sessionId) { guess = guess.toUpperCase(); diff --git a/server/src/main/resources/static/multiplayer.css b/server/src/main/resources/static/multiplayer.css index d61ad72..d5af794 100644 --- a/server/src/main/resources/static/multiplayer.css +++ b/server/src/main/resources/static/multiplayer.css @@ -16,3 +16,23 @@ h1 { .hidden { display: none; } + +#canvasDiv { + padding-bottom: 20px; +} + +#waitingDiv { + height: 360px; +} + +#messageList { + height: 300px; + overflow-y: scroll; + padding: 10px 20px 10px 20px; +} + +#messageInput { + width: 100%; + height: 42px; + padding-left: 10px; +} diff --git a/server/src/main/resources/static/multiplayer.html b/server/src/main/resources/static/multiplayer.html index 391e320..cbb4708 100644 --- a/server/src/main/resources/static/multiplayer.html +++ b/server/src/main/resources/static/multiplayer.html @@ -8,54 +8,73 @@ -
-
-

Choose your username.

-

-
- -
- -
+
+
+
+

Choose your username.

+

+
+ +
+ +
+
-
- -