ClearComm Messaging App
About this app
ClearComm is a revolutionary messaging app designed to foster clear and effective communication between users.
ClearComm Messaging App 📬 ClearComm Messaging App 📬 Send Understood Not Understood Understood the Paraphrase Haven't Understood Not a Paraphrase
Related apps
Put this on your site
Source
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>ClearComm Messaging App</title>
<meta name="description" content="ClearComm is a revolutionary messaging app designed to foster clear and effective communication between users.">
<meta name="keywords" content="Messaging, Communication, ClearComm, Web App">
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet">
<style>
/* App CSS Goes Here */
body {
font-family: 'Roboto', sans-serif;
background: linear-gradient(45deg, #83a4d4, #b6fbff);
color: #333;
}
#chatWindow {
max-height: 80vh;
overflow-y: auto;
border: 1px solid #ccc;
border-radius: 5px;
padding: 10px;
margin-bottom: 10px;
}
.message {
padding: 10px;
margin: 10px 0;
border-radius: 5px;
}
.sent {
background-color: #dcf8c6;
align-self: flex-end;
}
.received {
background-color: #fff;
}
.options {
display: flex;
justify-content: space-between;
}
.options button {
margin-right: 5px;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<!-- App HTML Goes Here -->
<h1 class="text-center my-4">📬 ClearComm Messaging App 📬</h1>
<div id="chatWindow" class="d-flex flex-column"></div>
<div class="input-group mb-3">
<input type="text" id="messageInput" class="form-control" placeholder="Type your message here" aria-label="Message">
<button id="sendMessage" class="btn btn-primary">Send</button>
</div>
<div id="responseOptions" class="options d-none">
<button id="understood" class="btn btn-success">Understood</button>
<button id="notUnderstood" class="btn btn-danger">Not Understood</button>
</div>
<div id="paraphraseOptions" class="options d-none">
<button id="understoodParaphrase" class="btn btn-success">Understood the Paraphrase</button>
<button id="notUnderstoodParaphrase" class="btn btn-danger">Haven't Understood</button>
<button id="notParaphrase" class="btn btn-warning">Not a Paraphrase</button>
</div>
</div>
<script type="text/javascript">
try {
// App Javascript Goes Here.
let messages = [];
let messageIndex = 0;
let sendMessageButton = document.querySelector("#sendMessage");
let messageInput = document.querySelector("#messageInput");
let chatWindow = document.querySelector("#chatWindow");
// Message options
let responseOptions = document.querySelector("#responseOptions");
let understoodButton = document.querySelector("#understood");
let notUnderstoodButton = document.querySelector("#notUnderstood");
// Paraphrase options
let paraphraseOptions = document.querySelector("#paraphraseOptions");
let understoodParaphraseButton = document.querySelector("#understoodParaphrase");
let notUnderstoodParaphraseButton = document.querySelector("#notUnderstoodParaphrase");
let notParaphraseButton = document.querySelector("#notParaphrase");
let createMessage = (type, text) => {
let message = document.createElement('div');
message.classList.add('message', type);
message.textContent = text;
return message;
}
let appendMessage = (type, text) => {
let message = createMessage(type, text);
chatWindow.append(message);
chatWindow.scrollTop = chatWindow.scrollHeight;
}
let sendUserMessage = () => {
if(messageInput.value != '') {
appendMessage('sent', messageInput.value);
messages.push({type: 'sent', text: messageInput.value});
messageIndex++;
messageInput.value = '';
sendMessageButton.setAttribute('disabled', 'true');
responseOptions.classList.remove('d-none');
paraphraseOptions.classList.add('d-none');
}
}
let handleUnderstood = () => {
appendMessage('received', "Understood. Paraphrasing now...");
responseOptions.classList.add('d-none');
paraphraseOptions.classList.remove('d-none');
}
let handleNotUnderstood = () => {
appendMessage('received', "Not understood. Please clarify...");
sendMessageButton.removeAttribute('disabled');
}
let handleUnderstoodParaphrase = () => {
appendMessage('sent', "Understood the paraphrase.");
paraphraseOptions.classList.add('d-none');
sendMessageButton.removeAttribute('disabled');
}
let handleNotUnderstoodParaphrase = () => {
appendMessage('sent', "Didn't understand the paraphrase. Please try again...");
paraphraseOptions.classList.add('d-none');
sendMessageButton.removeAttribute('disabled');
}
let handleNotParaphrase = () => {
appendMessage('sent', "That's not a paraphrase. Please try again...");
paraphraseOptions.classList.add('d-none');
sendMessageButton.removeAttribute('disabled');
}
// Event listeners
sendMessageButton.addEventListener('click', sendUserMessage);
understoodButton.addEventListener('click', handleUnderstood);
notUnderstoodButton.addEventListener('click', handleNotUnderstood);
understoodParaphraseButton.addEventListener('click', handleUnderstoodParaphrase);
notUnderstoodParaphraseButton.addEventListener('click', handleNotUnderstoodParaphrase);
notParaphraseButton.addEventListener('click', handleNotParaphrase);
} catch (error) {
// This will throw the error to the parent window.
throw error;
}
</script>
</body>
</html>
NEW APPS
These are apps made by the community!