Rewrite the web client to look sleeker
This commit is contained in:
parent
0a029fcc23
commit
7eba84b6ec
1144
client-web/index.css
1144
client-web/index.css
File diff suppressed because it is too large
Load Diff
|
@ -1,68 +1,171 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Chookchat</title>
|
||||
<link rel="preconnect" href="https://rsms.me/">
|
||||
<link rel="stylesheet" href="https://rsms.me/inter/inter.css">
|
||||
<link type="text/css" rel="stylesheet" href="index.css">
|
||||
<link type="text/css" rel="stylesheet" href="gradient.css">
|
||||
<link rel="shortcut icon" type="image/jpg" href="favicon.ico"/>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js"></script>
|
||||
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
||||
</head>
|
||||
<body class="gradient">
|
||||
<div id="login">
|
||||
<div class="section">
|
||||
<div class="box">
|
||||
<h3>Chookchat</h3>
|
||||
<input type="text" id="username" placeholder="Username"><br>
|
||||
<input type="password" id="password" placeholder="Password"><br>
|
||||
<button class="bluebutton" onclick="connect()">Log in</button>
|
||||
<button class="greenbutton" onclick="register()">Register</button>
|
||||
<button class="redbutton" onclick="showConfig()">Show Server Config</button>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Chookchat</title>
|
||||
<link rel="preconnect" href="https://rsms.me/">
|
||||
<link rel="stylesheet" href="https://rsms.me/inter/inter.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
||||
<link type="text/css" rel="stylesheet" href="index.css">
|
||||
<link rel="shortcut icon" type="image/jpg" href="favicon.ico"/>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js"></script>
|
||||
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="login-container">
|
||||
<div class="login-card">
|
||||
<div class="login-header">
|
||||
<h2>Chookchat</h2>
|
||||
</div>
|
||||
<div class="login-form">
|
||||
<div class="input-group">
|
||||
<i class="fa-solid fa-user"></i>
|
||||
<input type="text" id="username" placeholder="Username">
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<i class="fa-solid fa-lock"></i>
|
||||
<input type="password" id="password" placeholder="Password">
|
||||
</div>
|
||||
<div class="login-buttons">
|
||||
<button class="btn btn-primary" onclick="connect()">Log in</button>
|
||||
<button class="btn btn-success" onclick="register()">Register</button>
|
||||
</div>
|
||||
<div class="server-options">
|
||||
<button class="btn btn-text" onclick="showConfig()">Server Settings</button>
|
||||
<div id="serverStatus"></div>
|
||||
</div>
|
||||
<div class="box" style="display: none;" id="serverconfig">
|
||||
<input type="text" id="serverUrl" value="bobcompass.online" placeholder="Server URL"><br>
|
||||
<input type="text" id="serverPort" value="443" placeholder="Server Port"><br>
|
||||
<input type="checkbox" id="securityStatus" checked>
|
||||
<label for="securityStatus">Use HTTPS/WSS</label>
|
||||
<div id="serverconfig" class="server-config">
|
||||
<div class="input-group">
|
||||
<i class="fa-solid fa-server"></i>
|
||||
<input type="text" id="serverUrl" value="localhost" placeholder="Server URL">
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<i class="fa-solid fa-network-wired"></i>
|
||||
<input type="text" id="serverPort" value="7070" placeholder="Server Port">
|
||||
</div>
|
||||
<div class="checkbox-group">
|
||||
<input type="checkbox" id="securityStatus" checked>
|
||||
<label for="securityStatus">Use HTTPS/WSS</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hidden" id="messaging">
|
||||
<div class="messaging-container">
|
||||
<div id="meet"></div>
|
||||
<div class="box">
|
||||
<div id="users" class="suttle"></div>
|
||||
<button id="meeting" class="bluebutton" onclick="startMeeting()">📞</button>
|
||||
<div id="messagebox" class="box" style="height: 600px;">
|
||||
<div></div>
|
||||
</div>
|
||||
<div id="typing" class="suttle"></div>
|
||||
<div id="upload" class="suttle" style="display: none;">
|
||||
<input type="file" id="fileupload" accept="image/*,text/*">
|
||||
<button class="bluebutton" onclick="uploadFile()">Upload</button>
|
||||
</input>
|
||||
</div>
|
||||
<div class="input-container">
|
||||
<button onclick="showFileUpload()" class="bluebutton">📁</button>
|
||||
<button onclick="showEggs()" class="bluebutton">🥚</button>
|
||||
<input type="text" id="messageInput" placeholder="Send a message..." autofocus>
|
||||
<button onclick="sendMessage()" class="bluebutton">Send</button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="eggs" style="display: none;">
|
||||
<div id="eggs-list" class="eggs-list">
|
||||
<button class="egg-item" onclick="eggNotepad()">📝 Notepad</button>
|
||||
</div>
|
||||
<!-- Eggs Start Here -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="index.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
</div>
|
||||
|
||||
<div id="app" class="hidden">
|
||||
<div class="sidebar">
|
||||
<div class="sidebar-header">
|
||||
<h3>Chookchat</h3>
|
||||
</div>
|
||||
<div id="room-list" class="room-list">
|
||||
<div class="room-category">
|
||||
<div class="room-category-header">
|
||||
<span>Rooms</span>
|
||||
<button class="btn-icon" onclick="promptCreateRoom()">
|
||||
<i class="fa-solid fa-plus"></i>
|
||||
</button>
|
||||
</div>
|
||||
<!-- Rooms will be dynamically added here -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="user-profile">
|
||||
<div class="user-avatar">
|
||||
<i class="fa-solid fa-user"></i>
|
||||
</div>
|
||||
<div class="user-info">
|
||||
<span id="current-username">Username</span>
|
||||
<span class="user-status">Online</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="chat-container">
|
||||
<div class="chat-header">
|
||||
<div class="current-room">
|
||||
<i class="fa-solid fa-hashtag"></i>
|
||||
<span id="current-room-name">general</span>
|
||||
</div>
|
||||
<div class="header-actions">
|
||||
<button class="btn-icon" onclick="startMeeting()" title="Start Call">
|
||||
<i class="fa-solid fa-phone"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="chat-content">
|
||||
<div id="messagebox" class="messages">
|
||||
<!-- Messages will be dynamically added here -->
|
||||
</div>
|
||||
|
||||
<div id="typing" class="typing-indicator"></div>
|
||||
|
||||
<div class="message-input-container">
|
||||
<div class="message-actions">
|
||||
<button class="btn-icon" onclick="showFileUpload()" title="Upload File">
|
||||
<i class="fa-solid fa-paperclip"></i>
|
||||
</button>
|
||||
<button class="btn-icon" onclick="showEggs()" title="Eggs">
|
||||
<i class="fa-solid fa-egg"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="message-input-wrapper">
|
||||
<input type="text" id="messageInput" placeholder="Send a message..." autofocus>
|
||||
<button class="send-button" onclick="sendMessage()">
|
||||
<i class="fa-solid fa-paper-plane"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="users-panel">
|
||||
<div class="users-panel-header">
|
||||
<h3>Members</h3>
|
||||
</div>
|
||||
<div id="users" class="users-list">
|
||||
<!-- Users will be dynamically added here -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="eggs-panel" class="eggs-panel hidden">
|
||||
<div class="eggs-header">
|
||||
<h3>Eggs</h3>
|
||||
<button class="btn-icon" onclick="closeEggs()">
|
||||
<i class="fa-solid fa-times"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div id="eggs-list" class="eggs-list">
|
||||
<button class="egg-item" onclick="eggNotepad()">
|
||||
<i class="fa-solid fa-note-sticky"></i>
|
||||
<span>Notepad</span>
|
||||
</button>
|
||||
<!-- More eggs can be added here -->
|
||||
</div>
|
||||
<div id="egg-content" class="egg-content">
|
||||
<!-- Egg content will be displayed here -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="meet" class="meet-container hidden"></div>
|
||||
|
||||
<div id="upload-modal" class="modal hidden">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3>Upload File</h3>
|
||||
<button class="btn-icon" onclick="hideFileUpload()">
|
||||
<i class="fa-solid fa-times"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<input type="file" id="fileupload" accept="image/*,text/*">
|
||||
<div class="upload-preview" id="upload-preview"></div>
|
||||
<button class="btn btn-primary" onclick="uploadFile()">Upload</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="index.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
1089
client-web/index.js
1089
client-web/index.js
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user