Skip to content

Commit f100956

Browse files
committed
change design
1 parent 160097e commit f100956

File tree

5 files changed

+104
-56
lines changed

5 files changed

+104
-56
lines changed

public/css/style.css

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,18 @@ a {
197197
}
198198

199199
/* Join Page */
200+
201+
#share {
202+
display: grid;
203+
text-align: center;
204+
}
205+
206+
#share a {
207+
border-radius: 20px;
208+
margin-bottom: 5px;
209+
display: flex;
210+
}
211+
200212
.join-container {
201213
max-width: 500px;
202214
margin: 80px auto;

public/join.html

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,12 @@ <h1><i class="fas fa-random"></i>RiNGo</h1>
3535
<div class="chat-container">
3636
<header class="chat-header">
3737
<h1><i class="fas fa-random"></i> RiNGo</h1>
38+
<div id="share">
39+
<a class="btn" onclick="copy()">
40+
<div id="link">url</div>
41+
<i id="copy" class="fas fa-copy"></i> </a
42+
>Share link to invite
43+
</div>
3844
<a href="./" class="btn">Leave Room</a>
3945
</header>
4046
<main class="chat-main">
@@ -77,6 +83,6 @@ <h3><i class="fas fa-users"></i> Users</h3>
7783
crossorigin="anonymous"
7884
></script>
7985
<script src="/socket.io/socket.io.js"></script>
80-
<script src="/js/test.js"></script>
86+
<script src="/js/join.js"></script>
8187
</body>
8288
</html>

public/js/indexPage.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@ const createRoomForm = document.getElementById('create-room-form');
33
const socket = io();
44

55
createRoomForm.addEventListener('submit', (e) => {
6+
e.preventDefault();
67
let userName = e.target.elements['username'].value.toString();
78
let roomName = e.target.elements['room'].value.toString();
8-
sessionStorage.setItem("userName", userName);
9-
sessionStorage.setItem("autoJoin", true);
9+
sessionStorage.setItem('userName', userName);
10+
sessionStorage.setItem('autoJoin', true);
1011
socket.emit('createRoom', roomName);
1112
});
1213

public/js/test.js renamed to public/js/join.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ usernameForm.addEventListener('submit', (e) => {
1919
location.pathname = '/';
2020
});
2121

22+
document.getElementById('link').innerHTML = location.href;
2223
//#region hide elements after succesfull submit
2324
for (var i = 0, len = elements.length; i < len; ++i) {
2425
elements[i].disabled = true;
@@ -147,3 +148,27 @@ const outputDice = (message) => {
147148
<div class="dice">Dice rolled with ${message.text}</div>`;
148149
document.querySelector('.chat-messages').appendChild(div);
149150
};
151+
152+
function copy() {
153+
element = document.getElementById('link');
154+
var range, selection, worked;
155+
156+
if (document.body.createTextRange) {
157+
range = document.body.createTextRange();
158+
range.moveToElementText(element);
159+
range.select();
160+
} else if (window.getSelection) {
161+
selection = window.getSelection();
162+
range = document.createRange();
163+
range.selectNodeContents(element);
164+
selection.removeAllRanges();
165+
selection.addRange(range);
166+
}
167+
168+
try {
169+
document.execCommand('copy');
170+
alert('text copied');
171+
} catch (err) {
172+
alert('unable to copy text');
173+
}
174+
}

server.js

Lines changed: 57 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ app.use(express.static(path.join(__dirname, 'public')));
3030
io.sockets.on('connection', (socket) => {
3131
socket.on('createRoom', (roomName) => {
3232
const room = createRoom(roomName, '');
33-
io.emit('roomCreated', room.id);
33+
socket.emit('roomCreated', room.id);
3434
});
3535
socket.on('joinRoom', ({ username, roomId }) => {
3636
const user = userJoin(socket.id, username, roomId, 'Unknown');
@@ -60,65 +60,69 @@ io.sockets.on('connection', (socket) => {
6060
roomId: user.roomId,
6161
users: getRoomUsers(user.roomId),
6262
});
63-
});
6463

65-
socket.on('random', () => {
66-
const user = getCurrentUser(socket.id);
67-
let result = getRandom(socket.id);
68-
let name = '';
69-
console.log('random emitted');
70-
console.log(result);
71-
if (result['succes'] == true) {
72-
name = result.lucky.username;
73-
io.to(result.lucky.roomId).emit(
74-
'message',
75-
formatMessage(user.username + ' -> RiNGo', `${name} is the lucky one!`)
76-
);
64+
socket.on('random', () => {
65+
const user = getCurrentUser(socket.id);
66+
let result = getRandom(socket.id);
67+
let name = '';
68+
console.log('random emitted');
69+
console.log(result);
70+
if (result['succes'] == true) {
71+
name = result.lucky.username;
72+
io.to(result.lucky.roomId).emit(
73+
'message',
74+
formatMessage(
75+
user.username + ' -> RiNGo',
76+
`${name} is the lucky one!`
77+
)
78+
);
7779

78-
console.log('aa');
79-
}
80-
io.emit('randomUser', { result, name });
81-
});
80+
console.log('aa');
81+
}
82+
io.emit('randomUser', { result, name });
83+
});
8284

83-
socket.on('flipCoin', () => {
84-
const user = getCurrentUser(socket.id);
85-
const result = Math.random();
86-
io.to(user.roomId).emit(
87-
'coinFlipResult',
88-
formatMessage(user.username + ' -> RiNGo', result)
89-
);
90-
});
85+
socket.on('flipCoin', () => {
86+
const user = getCurrentUser(socket.id);
87+
const result = Math.random();
88+
io.to(user.roomId).emit(
89+
'coinFlipResult',
90+
formatMessage(user.username + ' -> RiNGo', result)
91+
);
92+
});
9193

92-
socket.on('rollDice', () => {
93-
const user = getCurrentUser(socket.id);
94-
let result = Math.floor(Math.random() * 6.2) + 1;
94+
socket.on('rollDice', () => {
95+
const user = getCurrentUser(socket.id);
96+
let result = Math.floor(Math.random() * 6.2) + 1;
9597

96-
io.to(user.roomId).emit(
97-
'diceResult',
98-
formatMessage(user.username + ' -> RiNGo', result)
99-
);
100-
});
98+
io.to(user.roomId).emit(
99+
'diceResult',
100+
formatMessage(user.username + ' -> RiNGo', result)
101+
);
102+
});
101103

102-
// client disconnect
103-
socket.on('disconnect', () => {
104-
const user = userLeave(socket.id);
105-
if (user) {
106-
socket.broadcast
107-
.to(user.roomId)
108-
.emit(
109-
'message',
110-
formatMessage(botName, `${user.username} has left the chat`)
111-
);
112-
io.to(user.roomId).emit('roomUsers', {
113-
room: user.roomId,
114-
users: getRoomUsers(user.room),
115-
});
116-
}
117-
});
104+
// client disconnect
105+
socket.on('disconnect', () => {
106+
const user = userLeave(socket.id);
107+
if (user) {
108+
socket.broadcast
109+
.to(user.roomId)
110+
.emit(
111+
'message',
112+
formatMessage(botName, `${user.username} has left the chat`)
113+
);
114+
io.to(user.roomId).emit('roomUsers', {
115+
room: findRoom(user.roomId).name,
116+
roomId: user.roomId,
117+
users: getRoomUsers(user.roomId),
118+
});
119+
}
120+
});
118121

119-
socket.on('chatMessage', (msg) => {
120-
const user = getCurrentUser(socket.id);
121-
io.to(user.roomId).emit('message', formatMessage(user.username, msg));
122+
socket.on('chatMessage', (msg) => {
123+
const user = getCurrentUser(socket.id);
124+
io.to(user.roomId).emit('message', formatMessage(user.username, msg));
125+
});
122126
});
123127
});
124128

0 commit comments

Comments
 (0)