Skip to content
This repository was archived by the owner on Jul 24, 2023. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions src/main/webapp/groupchat.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,12 @@

<body>
<h1>Groupchat</h1>
<div id="messages"></div>

<form action="/new-message" method="POST" style="position: absolute; bottom: 10px; width: 100%">
<label for="message-input">Type a message:</label></br>
<textarea id="message-input" name="message" rows="5" style="width: 99%"></textarea>
<input type="submit"></input>
</form>
</body>
</html>
30 changes: 30 additions & 0 deletions src/main/webapp/script.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,33 @@ function createCommentElement(comment) {
function addParagraph(content) {
return "<p>" + content + "</p>";
}

function newGroupchat() {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GroupChat >:(
jk do what u want hehe just suggestion
idk u said before you'd change to just "Group" or smth but since group is its own thing i guess not
would be nice to also change Groupchat --> GroupChat 4 the class

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I prefer Groupchat, since it is just one word.

@angplee angplee Jul 30, 2020

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ITS 2 WORDS I SWEAR ;-;

const request = new Request("/load-groupchat", {method: 'POST'});
fetch(request).then(response => response.text()).then((key) => {
redirectToGroupchat(key);
});
}

function loadGroupchat() {
const urlParams = new URLSearchParams(window.location.search);
const key = urlParams.get('key');
fetch('/load-groupchat?key=' + key).then(response => response.json())
.catch(error => {
alert('Error: Groupchat does not exist');

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ooooh nice

window.location.href = 'index.html';
}).then((messages) => {
const messageContainer = document.getElementById('messages');
messageContainer.innerHTML = '';

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this have a script injection concern :0

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not entirely sure, but I don't think so because the message's innerText is set, and not its innerHTML. I'm not sure if this makes it safe of a script injection though

for (var i = 0; i < messages.length; i++) {
const message = document.createElement('p');
message.innerText = messages[i];
messageContainer.appendChild(message);
}
});
}

function redirectToGroupchat(keyParameter) {
const key = keyParameter ? keyParameter : document.getElementById('groupchat-key').value;
window.location.href = "/groupchat.html?key=" + key;
}