chookchat/client-web/index.html

172 lines
7.0 KiB
HTML
Raw Normal View History

2024-11-05 20:35:10 +11:00
<!DOCTYPE html>
2025-06-06 10:03:27 +10:00
<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>
2024-11-05 20:35:10 +11:00
<div id="serverStatus"></div>
</div>
2025-06-06 10:03:27 +10:00
<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>
2024-11-05 20:35:10 +11:00
</div>
</div>
</div>
2025-06-06 10:03:27 +10:00
</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>
2024-11-23 18:10:56 +11:00
</div>
2025-06-06 10:03:27 +10:00
<!-- 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 -->
2024-11-05 20:35:10 +11:00
</div>
2025-06-06 10:03:27 +10:00
<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">
<textarea style="font-family: sans-serif" id="messageInput" placeholder="Send a message..." autofocus></textarea>
2025-06-06 10:03:27 +10:00
<button class="send-button" onclick="sendMessage()">
<i class="fa-solid fa-paper-plane"></i>
</button>
2024-12-06 13:27:22 +11:00
</div>
</div>
</div>
2024-11-05 20:35:10 +11:00
</div>
2025-03-14 08:44:06 +11:00
2025-06-06 10:03:27 +10:00
<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>