Refactored and cleaned up
This commit is contained in:
parent
05b85f2d4e
commit
b911164db2
100
public/css/chat.css
Normal file
100
public/css/chat.css
Normal file
@ -0,0 +1,100 @@
|
||||
#chat {
|
||||
display: flex;
|
||||
flex-flow: column;
|
||||
overflow: hidden;
|
||||
|
||||
border-left: #7d7d7d solid 2px;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#messages_received {
|
||||
flex: 1 1 90%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: auto;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
#message_add {
|
||||
flex: 0 0 10%;
|
||||
}
|
||||
|
||||
#message_add form {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#message_input {
|
||||
height: calc(100% - 10px - 2em - 6px);
|
||||
width: calc(100% - 10px);
|
||||
}
|
||||
|
||||
#message_send {
|
||||
height: 2em;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.log_message {
|
||||
list-style-type: none;
|
||||
padding: 5px;
|
||||
font-weight: bold;
|
||||
color: #424242;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.chat_message {
|
||||
list-style-type: none;
|
||||
margin: 5px;
|
||||
padding: 5px 10px 5px 10px;
|
||||
border-radius: 5px;
|
||||
background: #0672e6;
|
||||
color: #fff;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.me {
|
||||
margin-left: 2em;
|
||||
}
|
||||
|
||||
.me:before {
|
||||
content: "";
|
||||
width: 0;
|
||||
height: 0;
|
||||
position: absolute;
|
||||
border-left: 10px solid #0672e6;
|
||||
border-right: 10px solid transparent;
|
||||
border-top: 10px solid #0672e6;
|
||||
border-bottom: 10px solid transparent;
|
||||
right: -10px;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.others {
|
||||
margin-right: 2em;
|
||||
}
|
||||
|
||||
.others:before {
|
||||
content: "";
|
||||
width: 0;
|
||||
height: 0;
|
||||
position: absolute;
|
||||
border-left: 10px solid transparent;
|
||||
border-right: 10px solid #0672e6;
|
||||
border-top: 10px solid #0672e6;
|
||||
border-bottom: 10px solid transparent;
|
||||
left: -10px;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.username {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.messageBody {
|
||||
|
||||
}
|
||||
|
||||
.messageBody::before {
|
||||
content: '\A';
|
||||
white-space: pre;
|
||||
}
|
@ -12,92 +12,10 @@ body {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
header {
|
||||
height: 3em;
|
||||
}
|
||||
|
||||
main {
|
||||
display: grid;
|
||||
grid-template-columns: 80% 20%;
|
||||
height: calc(100% - 3em);
|
||||
}
|
||||
|
||||
#game {
|
||||
height: 100%;
|
||||
grid-column-start: 1;
|
||||
}
|
||||
|
||||
#chat {
|
||||
border-left: #7d7d7d solid 2px;
|
||||
height: 100%;
|
||||
grid-column-start: 2;
|
||||
}
|
||||
|
||||
#messages {
|
||||
height: calc(100% - 5em - 3em);
|
||||
overflow-y: scroll;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.log {
|
||||
list-style-type: none;
|
||||
padding: 5px;
|
||||
font-weight: bold;
|
||||
color: #424242;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.message {
|
||||
list-style-type: none;
|
||||
margin: 5px;
|
||||
border-radius: 5px;
|
||||
background: #0079a5;
|
||||
color: #fff;
|
||||
padding: 5px 5px 5px 15px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.me:before {
|
||||
content: "";
|
||||
width: 0;
|
||||
height: 0;
|
||||
position: absolute;
|
||||
border-left: 15px solid #0079a5;
|
||||
border-right: 15px solid transparent;
|
||||
border-top: 15px solid #0079a5;
|
||||
border-bottom: 15px solid transparent;
|
||||
right: -10px;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.others:before {
|
||||
content: "";
|
||||
width: 0;
|
||||
height: 0;
|
||||
position: absolute;
|
||||
border-left: 15px solid transparent;
|
||||
border-right: 15px solid #0079a5;
|
||||
border-top: 15px solid #0079a5;
|
||||
border-bottom: 15px solid transparent;
|
||||
left: -10px;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.username {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.messageBody {
|
||||
|
||||
}
|
||||
|
||||
.messageBody::before {
|
||||
content: '\A';
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
#message_form {
|
||||
height: 5em;
|
||||
height: calc(100% - 3em - 10px);
|
||||
}
|
||||
|
||||
.material-icon {
|
||||
|
4
public/css/game.css
Normal file
4
public/css/game.css
Normal file
@ -0,0 +1,4 @@
|
||||
#game {
|
||||
height: 100%;
|
||||
grid-column-start: 1;
|
||||
}
|
Binary file not shown.
Before Width: | Height: | Size: 185 KiB |
@ -4,12 +4,13 @@
|
||||
<meta charset="UTF-8">
|
||||
<title>Projektmanagement Game</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Material+Icons">
|
||||
<link href="https://fonts.googleapis.com/css?family=Material+Icons" rel="stylesheet">
|
||||
|
||||
<link rel="stylesheet" href="css/components.css">
|
||||
<link rel="stylesheet" href="css/header.css">
|
||||
<link href="css/components.css" rel="stylesheet">
|
||||
<link href="css/header.css" rel="stylesheet">
|
||||
<link href="css/chat.css" rel="stylesheet">
|
||||
|
||||
<link rel="stylesheet" href="css/index.css">
|
||||
<link href="css/index.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
@ -18,20 +19,25 @@
|
||||
<main>
|
||||
<div id="game"></div>
|
||||
<div id="chat">
|
||||
<div id="messages"></div>
|
||||
<div id="messages_received"></div>
|
||||
|
||||
<form id="message_form" onsubmit="sendMessage(); return false;">
|
||||
<label for="message"></label>
|
||||
<input id="message" name="message" placeholder="Type here..."/>
|
||||
<button type="submit" id="send">Send</button>
|
||||
</form>
|
||||
<div id="message_add">
|
||||
<form onsubmit="sendMessage(); return false;">
|
||||
<label for="message_input"></label>
|
||||
<textarea id="message_input" name="message" placeholder="Type here..."></textarea>
|
||||
<button id="message_send" type="submit">Send</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<footer>
|
||||
|
||||
</footer>
|
||||
|
||||
<script src="https://cdn.socket.io/3.1.3/socket.io.min.js" integrity="sha384-cPwlPLvBTa3sKAgddT6krw0cJat7egBga3DJepJyrLl4Q9/5WLra3rrnMcyTyOnh" crossorigin="anonymous"></script><script src="js/chat.js"></script>
|
||||
<script crossorigin="anonymous"
|
||||
integrity="sha384-cPwlPLvBTa3sKAgddT6krw0cJat7egBga3DJepJyrLl4Q9/5WLra3rrnMcyTyOnh"
|
||||
src="https://cdn.socket.io/3.1.3/socket.io.min.js"></script>
|
||||
<script src="js/chat.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/pixi.js/5.1.3/pixi.min.js"></script>
|
||||
<script src="js/index.js"></script>
|
||||
</body>
|
||||
|
@ -8,7 +8,7 @@ window.addEventListener('load', function () {
|
||||
|
||||
socket.on('login', function (data) {
|
||||
connected = true;
|
||||
log("Welcome " + username + "!");
|
||||
addLogMessage("Welcome " + username + "!");
|
||||
});
|
||||
|
||||
socket.on('new message', function (data) {
|
||||
@ -16,11 +16,11 @@ window.addEventListener('load', function () {
|
||||
});
|
||||
|
||||
socket.on('user joined', function (data) {
|
||||
log(data + ' joined');
|
||||
addLogMessage(data + ' joined');
|
||||
});
|
||||
|
||||
socket.on('user left', function (data) {
|
||||
log(data + ' left');
|
||||
addLogMessage(data + ' left');
|
||||
});
|
||||
|
||||
// Login
|
||||
@ -28,23 +28,23 @@ window.addEventListener('load', function () {
|
||||
});
|
||||
|
||||
function sendMessage() {
|
||||
let message = document.getElementById('message').value;
|
||||
let message = document.getElementById('message_input').value;
|
||||
|
||||
if (message && connected) {
|
||||
document.getElementById('message').value = '';
|
||||
document.getElementById('message_input').value = '';
|
||||
|
||||
addChatMessage({ username: username, message: message });
|
||||
addChatMessage({username: username, message: message});
|
||||
|
||||
socket.emit('new message', message);
|
||||
}
|
||||
}
|
||||
|
||||
function log(message) {
|
||||
function addLogMessage(message) {
|
||||
let li = document.createElement('div');
|
||||
li.classList.add('log');
|
||||
li.classList.add('log_message');
|
||||
li.innerText = message;
|
||||
|
||||
document.getElementById("messages").appendChild(li);
|
||||
document.getElementById("messages_received").appendChild(li);
|
||||
}
|
||||
|
||||
function addChatMessage(data) {
|
||||
@ -57,8 +57,8 @@ function addChatMessage(data) {
|
||||
messageBody.innerText = data.message;
|
||||
|
||||
let messageDiv = document.createElement('div');
|
||||
messageDiv.classList.add('message');
|
||||
if(data.username === username) {
|
||||
messageDiv.classList.add('chat_message');
|
||||
if (data.username === username) {
|
||||
messageDiv.classList.add('me');
|
||||
} else {
|
||||
messageDiv.classList.add('others');
|
||||
@ -66,5 +66,5 @@ function addChatMessage(data) {
|
||||
messageDiv.appendChild(user);
|
||||
messageDiv.appendChild(messageBody);
|
||||
|
||||
document.getElementById('messages').append(messageDiv);
|
||||
document.getElementById('messages_received').append(messageDiv);
|
||||
}
|
22
public/js/game.js
Normal file
22
public/js/game.js
Normal file
@ -0,0 +1,22 @@
|
||||
const app = new PIXI.Application({
|
||||
autoResize: true,
|
||||
resolution: devicePixelRatio,
|
||||
backgroundColor: 0x0073db
|
||||
});
|
||||
document.getElementById('game').appendChild(app.view);
|
||||
|
||||
|
||||
// -------------------------------------- code --------------------------------------
|
||||
|
||||
// ------------------------------------ end code ------------------------------------
|
||||
|
||||
|
||||
// Resize (Do Not modify)
|
||||
window.addEventListener('resize', resize);
|
||||
|
||||
function resize() {
|
||||
let game = document.getElementById('game');
|
||||
app.renderer.resize(game.offsetWidth, game.offsetHeight);
|
||||
}
|
||||
|
||||
resize();
|
@ -1,20 +1,4 @@
|
||||
const app = new PIXI.Application({
|
||||
autoResize: true,
|
||||
resolution: devicePixelRatio,
|
||||
backgroundColor: 0x0073db
|
||||
window.addEventListener('beforeunload', function (e) {
|
||||
// Prevent user from exiting page
|
||||
e.preventDefault();
|
||||
});
|
||||
document.getElementById('game').appendChild(app.view);
|
||||
|
||||
|
||||
// -------------------------------------- code --------------------------------------
|
||||
|
||||
// ------------------------------------ end code ------------------------------------
|
||||
|
||||
|
||||
// Resize (Do Not modify)
|
||||
window.addEventListener('resize', resize);
|
||||
function resize() {
|
||||
let game = document.getElementById('game');
|
||||
app.renderer.resize(game.offsetWidth, game.offsetHeight);
|
||||
}
|
||||
resize();
|
Loading…
Reference in New Issue
Block a user