22 Commits
V1.3 ... V2.1.0

Author SHA1 Message Date
Brendan
10da1b3392 Update README.md 2024-01-29 21:52:50 +01:00
abrendan
bd651effdc Small change 2024-01-29 20:51:04 +00:00
abrendan
fa1c78031c Added a error message when trying to connect without a username or room 2024-01-29 20:50:29 +00:00
abrendan
7f8151dfeb Made Leave Room button bigger on mobile 2024-01-29 18:09:40 +00:00
abrendan
7ce73ce036 Made the Access Part hide after connecting and also added a Leave Room button 2024-01-29 17:55:53 +00:00
abrendan
1970e36448 Increased the bottom margin of the connect button 2024-01-29 17:44:16 +00:00
abrendan
5bee7db3d1 Cleaned code 2024-01-29 17:33:55 +00:00
abrendan
db7b495194 Made the Chat part only visible after being connected with a room 2024-01-29 17:18:14 +00:00
abrendan
0d26f56c4b Added favi icon 2024-01-29 17:07:13 +00:00
abrendan
b28d9a16db V2.0.1! Added a version number on the bottom right and a future way to add a logo. Also changed version scheme 2024-01-22 19:44:22 +00:00
Brendan
91e2fa270a Update README.md 2024-01-15 13:20:40 +01:00
abrendan
201546a7f3 Fixed the blur when viewed on webkit 2024-01-15 10:24:33 +00:00
abrendan
1733bb9a00 V2! New background, better mobile UI 2024-01-15 10:14:14 +00:00
abrendan
5ad7ad2ce6 V1.7! Bigger buttons for when viewed on a mobile screen or the android application 2024-01-12 14:28:32 +00:00
abrendan
226f1250da Added privacy statement 2024-01-12 14:11:21 +00:00
abrendan
8f6697b00b Made the buttons center when opened on a phone 2024-01-04 22:22:21 +00:00
abrendan
831834728d Made adjustments to the padding when viewed on a smaller screen 2024-01-04 21:00:40 +00:00
Brendan
7bd7e14910 Update README.md 2024-01-01 02:58:30 +01:00
abrendan
da41439428 Added a button for the GitHub Page and changed the font to Google's Roboto 2024-01-01 01:56:43 +00:00
Brendan
3ff4eedf62 Update README.md 2023-12-26 13:53:35 +01:00
abrendan
d4112b4a19 V1.4! Now with a centered design and the web application isn't broken on a mobile device anymore 2023-12-11 14:37:23 +00:00
Brendan
b23c6692ab Update README.md 2023-12-02 01:25:49 +01:00
7 changed files with 355 additions and 100 deletions

View File

@@ -2,5 +2,12 @@
MicDropMessages is a basic chat platform using socket.io and JavaScript. Now with a simple dark mode option!
![grafik](https://github.com/abrendan/MicDropMessages/assets/94894839/1e91b762-3acd-4d1b-b89b-86957ef50064)
![grafik](https://github.com/abrendan/MicDropMessages/assets/94894839/2cb8c5e6-ea6a-4a88-9218-45c58926ba4e)
![grafik](https://github.com/abrendan/MicDropMessages/assets/94894839/80878a4a-336a-4071-a480-0fe68f090bcd)

View File

@@ -1,17 +1,19 @@
<!DOCTYPE HTML>
<!DOCTYPE HTML>
<html>
<head>
<title> MicDropMessages </title>
<meta name = "charset" charset = "utf-8">
<meta name = "viewport" content = "width=device-width">
<link href='https://fonts.googleapis.com/css?family=Roboto' rel='stylesheet'>
<link rel = "stylesheet" type = "text/css" href = "style.css">
<link rel="icon" href="https://i.ibb.co/jvVTdPM/nobackground-withoutname2.png">
<script src = "script.js"></script>
<script src= "socket.io/socket.io.js"></script>
</head>
<body onload = "onload()">
<div id = "Main">
<audio id = "Ding" src = "Ding.mp3"> </audio>
<h1 id = "Title"> MicDropMessages V1.3 </h1>
<h1 id = "Title"> MicDropMessages V2 </h1>
<p>Welcome to MicDropMessages! This small webbased application allows you to chat with your friends anonymously! To start, enter your username and enter a chatroom.</p>
<div id = "AccessPort">
<label id = "NameLabel"> Username </label>
@@ -22,7 +24,7 @@
<input id = "ConnectButton" class="button2" type = "submit" value = "Connect" onclick = "Connect()">
</div>
<h2 id = "RoomID"> Chatroom : None </h2>
<div id = "Chat">
<div id = "Chat" >
<p id = "Message0" class = "Message"> - </p>
<p id = "Message1" class = "Message"> - </p>
<p id = "Message2" class = "Message"> - </p>
@@ -36,11 +38,21 @@
<label id = "MessageLabel"> Message </label>
<input id = "ComposedMessage" class="input" type = "text">
<input id = "SendMessage" onclick="Send()" value = "Send your message" class="button2" type = "submit">
<input id="LeaveRoomButton" class="button2" type="submit" value="Leave Room" onclick="LeaveRoom()">
</div>
<p>Made by abrendan. Visit my website for more of my projects.</p>
<button id="darkModeToggle" onclick="toggleDarkMode()" class="button">Toggle Dark Mode</button>
<button onclick=" window.open('http://www.abrendan.dev','_blank')" class="button">abrendan.dev</button>
<br><br>
<div class = "other">
<button id="darkModeToggle" onclick="toggleDarkMode()" class="button">Toggle Dark Mode</button>
<p>Made by abrendan. Visit my website for more of my projects.</p>
<div id="LinkButtons">
<button id="GitHubButton" onclick=" window.open('https://github.com/abrendan/MicDropMessages','_blank')" class="button">GitHub Page for MicDropMessages</button>
<button id="WebsiteButton" onclick=" window.open('http://www.abrendan.dev','_blank')" class="button">abrendan.dev</button>
</div>
</div>
<p class="version-number">V2.1.0</p>
</div>
<div id="errorPopup" class="error-popup">
<p id="errorText">Please enter a username and a chatroom.</p>
<button id="errorButton" class="button2" onclick="closeErrorPopup()">Continue</button>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 540 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 448 KiB

56
html/privacy.html Normal file

File diff suppressed because one or more lines are too long

View File

@@ -24,6 +24,8 @@ function onload(){
socket.on("join", function(room){
chatRoom.innerHTML = "Current Chatroom : " + room;
// Show the chat div when successfully joined a room.
document.getElementById("Chat").style.display = "block";
})
socket.on("recieve", function(message){
@@ -42,10 +44,49 @@ function onload(){
document.getElementById("Message"+i).style.color = getComputedStyle(document.body).color;
}
})
// Ensure that the error popup is not displayed when the page is loaded
document.getElementById('errorPopup').style.display = 'none';
}
function Connect(){
socket.emit("join", chatIDInput.value, usernameInput.value);
var username = usernameInput.value.trim();
var room = chatIDInput.value.trim();
if(username && room){
socket.emit("join", room, username);
chatRoom.innerHTML = "Chatroom : " + room;
document.getElementById("Chat").style.display = "none";
document.getElementById('AccessPort').style.display = 'none';
} else {
showErrorPopup("Please enter a username and a chatroom.");
}
}
function showErrorPopup(message) {
document.getElementById('errorText').textContent = message;
document.getElementById('errorPopup').style.display = 'flex';
}
function closeErrorPopup() {
document.getElementById('errorPopup').style.display = 'none';
}
function LeaveRoom(){
// Show access port to join another chat room.
document.getElementById('AccessPort').style.display = 'block';
// Hide the chat div as the user is leaving the room.
document.getElementById('Chat').style.display = 'none';
// Reset chatRoom text to indicate no room connection.
chatRoom.innerHTML = "Chatroom : None";
// If the user is in a room, emit a leave event.
if (rooms[socket.id]) {
socket.emit('leave', rooms[socket.id], usernames[socket.id]);
rooms[socket.id] = null;
usernames[socket.id] = null;
}
}
function Send(){

View File

@@ -1,104 +1,243 @@
body{
background-image: url('https://images.unsplash.com/37/IHLjdHdzSvi0rgUMMlSK_TE3_0286.jpg'); /* Path to your example image */
background-size: cover; /* Cover the entire viewport */
background-repeat: no-repeat; /* Do not repeat the image */
background-attachment: fixed; /* The background image does not scroll */
color: #000000;
font-family: 'Segoe UI';
}
body{
background-image: url('https://micdropmessages.app/pictures/jezael-melgoza-2FiXtdnVhjQ-unsplash.jpg'); /* Path to your example image */
background-size: cover; /* Cover the entire viewport */
background-repeat: no-repeat; /* Do not repeat the image */
background-attachment: fixed; /* The background image does not scroll */
color: #000000;
font-family: 'Roboto';
display: flex; /* Use flexbox to center content */
justify-content: center; /* Center horizontally */
align-items: center; /* Center vertically */
}
label{
min-width: 70px; /* Ensure label has enough width */
display: block; /* Make labels stack above inputs and buttons */
margin-bottom: 0.5em; /* Provide some space between label and input/button */
text-align: left; /* Align text to the left */
}
input{
background-color: rgba(255, 255, 255, 0.15);
color: #000000;
font-size: 120%;
border: none;
width: 100%; /* Full width input fields */
box-sizing: border-box; /* Border box sizing for padding and borders */
margin-bottom: 1em; /* Provide space below inputs */
}
.Message{
color: #000000;
}
.other {
width: 100%; /* Set width */
text-align: center; /* Center inline and inline-block elements within */
}
#Logo{
height: 80px;
}
#Chat{
display: none;
}
#Main{
min-height: 94.5vh; /* Stretch to fill the viewport height */
width: 50%;
padding: 20px; /* Padding added to the main content area */
border-radius: 10px;
backdrop-filter: blur(5px); /* Provide a translucent frosted-glass effect */
-webkit-backdrop-filter: blur(5px);
background-color: rgba(255, 255, 255, 0.2); /* Slightly white transparent background */
display: flex; /* Adding flex properties to layout contents */
flex-direction: column; /* Stack children elements vertically */
align-items: center; /* Centering child elements horizontally */
position: relative; /* To position the version number correctly */
}
#Title{
font-size: 300%;
}
#LinkButtons{
display: inline-block;
}
#ConnectButton {
display: block;
margin: 0 auto;
margin-bottom: 20px;
padding: 20px 40px; /* Increase the padding to make the button bigger */
font-size: 20px; /* Increase the font-size for better readability on small screens */
}
#errorButton {
padding: 16px 31px;
border-radius: 10px;
transition: background-color 0.3s ease;
text-decoration: none;
width: auto;
margin: 0.5em 0;
background-color: rgba(255, 255, 255, 0.2); /* Slightly white transparent background */
transition: background-color 0.3s ease; /* Transition for button hover effects */
border: 0px solid #000000;
cursor: pointer;
color: #000000;
font-size: 17px;
text-shadow: 0px 1px 0px #000000;
display: block;
margin: 20px;
}
label{
width: 5%;
display: inline-block;
text-align: right;
}
#errorButton:hover {
background-color: #000000;
color: #ffffff;
}
input{
background-color: rgba(255, 255, 255, 0.15);
color: #000000;
font-size: 120%;
border: none;
#errorButton:active {
position: relative;
top: 1px;
}
#errorText {
margin-left: 20px;
}
.error-popup {
display: none;
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0,0,0,0.4);
backdrop-filter: blur(20px); /* Provide a translucent frosted-glass effect */
-webkit-backdrop-filter: blur(20px);
z-index: 2;
justify-content: center;
align-items: center;
}
}
.Message{
color: #000000;
}
#Main{
min-height: 94.5vh; /* Stretch to fill the viewport height */
padding: 20px; /* Padding added to the main content area */
border-radius: 10px;
backdrop-filter: blur(5px); /* Provide a translucent frosted-glass effect */
background-color: rgba(255, 255, 255, 0.2); /* Slightly white transparent background */
}
#Title{
font-size: 300%;
}
.button {
background-color:transparent;
border-radius:28px;
border:0px solid #000000;
display:inline-block;
cursor:pointer;
color:#000000;
font-size:17px;
padding:16px 31px;
text-decoration:none;
text-shadow:0px 1px 0px #000000;
background-color: rgba(255, 255, 255, 0.2); /* Slightly white transparent background */
transition: background-color 0.3s ease; /* Transition for button hover effects */
}
.button:hover {
background-color:#000000;
color:#ffffff;
}
.button:active {
position:relative;
top:1px;
}
/* Add this to your CSS to support dark mode */
body.dark-mode {
color: #ffffff; /* Light text color for contrast */
}
body.dark-mode .button {
color: #ffffff; /* Dark button background color */
}
.error-popup-content {
background-color: #fefefe;
margin: auto;
padding: 20px;
border: 1px solid #888;
width: 80%;
box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
border-radius: 5px;
text-align: center; /* Center the content inside the error popup */
}
.button {
background-color:transparent;
border-radius:28px;
border:0px solid #000000;
display:inline-block;
cursor:pointer;
color:#000000;
font-size:17px;
padding:16px 31px;
text-decoration:none;
text-shadow:0px 1px 0px #000000;
background-color: rgba(255, 255, 255, 0.2); /* Slightly white transparent background */
transition: background-color 0.3s ease; /* Transition for button hover effects */
width: auto; /* Width is determined by content within */
margin: 0.5em 0; /* Margin around buttons */
}
.button:hover {
background-color:#000000;
color:#ffffff;
}
.button:active {
position:relative;
top:1px;
}
/* Add this to your CSS to support dark mode */
body.dark-mode {
color: #ffffff; /* Light text color for contrast */
background-color: rgba(0, 0, 0, 1); /* Slightly transparent dark background */
}
body.dark-mode .button {
color: #ffffff; /* Dark button background color */
}
body.dark-mode .button2 {
color: #ffffff; /* Dark button background color */
}
}
body.dark-mode .input {
color: #ffffff; /* Dark button background color */
}
}
.dark-mode #Main {
background-color: rgba(0, 0, 0, 0.5); /* Slightly transparent dark background */
}
body.dark-mode .version-number {
color: #ffffff; /* Dark button background color */
}
body.dark-mode #errorButton {
background-color: rgba(255, 255, 255, 0.2);
color: #ffffff;
}
body.dark-mode #errorButton:hover {
background-color: #000000;
color: #ffffff;
}
.input {
border-radius: 10px;
padding: 6px;
width: 100%; /* Full width input fields */
box-sizing: border-box; /* Border box sizing for padding and borders */
}
.button2 {
border-radius: 10px;
padding: 6px;
transition: background-color 0.3s ease; /* Transition for button hover effects */
width: auto; /* Width is determined by content within */
margin: 0.5em 0; /* Margin around buttons */
}
.button2:hover {
background-color:#000000;
color:#ffffff;
}
/* You might want to customize other elements for dark mode, for example: */
.dark-mode #Main {
background-color: #333; /* Dark background for main content area */
.version-number {
position: absolute;
bottom: 1px;
right: 10px;
font-size: 0.75em;
color: #000000; /* Assuming light text for visibility against a potentially dark background */
}
@media (max-width: 800px) {
label {
width: auto; /* Full width on narrow screens */
}
/* Additional elements can be customized as needed for dark mode... */
.input {
border-radius: 10px;
padding: 6px;
#Main {
width: 100%; /* Full width on narrow screens */
}
.button2 {
border-radius: 10px;
padding: 6px;
transition: background-color 0.3s ease; /* Transition for button hover effects */
}
@media (max-width: 650px) {
#Title {
font-size: 150%;
}
.button2:hover {
background-color:#000000;
color:#ffffff;
#ConnectButton {
display: block;
margin: 0 auto;
padding: 20px 40px; /* Increase the padding to make the button bigger */
font-size: 20px; /* Increase the font-size for better readability on small screens */
}
#WebsiteButton {
display: block;
margin: 0 auto;
}
#LinkButtons {
text-align: center;
}
#SendMessage {
display: block;
margin: 0 auto;
margin-bottom: 20px;
margin-top: 10px;
padding: 20px 40px; /* Increase the padding to make the button bigger */
font-size: 20px; /* Increase the font-size for better readability on small screens */
}
#LeaveRoomButton {
display: block;
margin: 0 auto;
margin-bottom: 20px;
margin-top: 10px;
padding: 20px 40px; /* Increase the padding to make the button bigger */
font-size: 20px; /* Increase the font-size for better readability on small screens */
}
}