TriChat / templates /index.html
parthmax24's picture
updated the ui
91db40f
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tri-Chat - Premium Chat Experience</title>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
<link href="/static/main.css" rel="stylesheet">
</head>
<body>
<main class="app-shell" id="appShell">
<section class="connect-screen" id="connectScreen" aria-labelledby="connectTitle">
<div class="brand-bar">
<div class="brand-mark" aria-hidden="true">
<i class="fas fa-comments"></i>
</div>
<div>
<h1>Tri-Chat</h1>
<p>Talk together. Stay connected.</p>
</div>
</div>
<div class="welcome-art" aria-hidden="true">
<div class="bubble bubble-primary">
<span></span>
<span></span>
<span></span>
</div>
<div class="bubble bubble-secondary">
<span></span>
<span></span>
<span></span>
</div>
</div>
<div class="welcome-copy">
<h2 id="connectTitle">Welcome to Tri-Chat!</h2>
<p>Connect to a room and start chatting with others instantly.</p>
</div>
<form class="connection-form" id="connectionForm">
<div class="input-group">
<label for="usernameInput">Your Name</label>
<div class="field-shell">
<i class="fas fa-user"></i>
<input type="text" id="usernameInput" placeholder="Enter your name" maxlength="20" autocomplete="name">
<i class="fas fa-check field-check" aria-hidden="true"></i>
</div>
</div>
<div class="input-group">
<label for="roomInput">Room</label>
<div class="field-shell">
<i class="fas fa-hashtag"></i>
<input type="text" id="roomInput" placeholder="global" maxlength="30" autocomplete="off">
<i class="fas fa-check field-check" aria-hidden="true"></i>
</div>
</div>
<button class="btn btn-primary" id="connectBtn" type="submit">
<i class="fas fa-plug"></i>
<span>Connect</span>
</button>
</form>
<div class="status neutral" id="status" aria-live="polite">
<i class="fas fa-info-circle"></i>
Enter your name and click Connect to start chatting
</div>
<div class="connect-tip">
<i class="fas fa-lightbulb"></i>
<span>Tip: Share the room name with your friends so they can join too.</span>
</div>
</section>
<section class="chat-screen is-hidden" id="chatScreen" aria-label="Chat room">
<header class="chat-header">
<button class="icon-btn mobile-back-btn" id="mobileBackBtn" type="button" aria-label="Disconnect and return to connect screen">
<i class="fas fa-arrow-left"></i>
</button>
<div class="room-meta">
<h2 id="roomTitle">global</h2>
<p>
<span class="online-dot"></span>
<span id="onlineCount">0 members online</span>
</p>
</div>
<div class="chat-actions">
<button class="icon-btn users-toggle" id="usersToggle" type="button" aria-label="Show online users" aria-controls="usersPanel" aria-expanded="false">
<i class="fas fa-users"></i>
</button>
<button class="icon-btn desktop-disconnect-btn" id="disconnectBtn" type="button" aria-label="Disconnect">
<i class="fas fa-sign-out-alt"></i>
</button>
</div>
</header>
<div class="chat-body">
<aside class="users-panel" id="usersPanel">
<div class="users-panel-header">
<h3>Online</h3>
<button class="icon-btn users-close" id="usersClose" type="button" aria-label="Close online users">
<i class="fas fa-times"></i>
</button>
</div>
<ul class="user-list" id="userList"></ul>
<p class="empty-users" id="emptyUsers">No one else is here yet.</p>
</aside>
<div class="messages-wrap">
<div class="messages" id="messages"></div>
<form class="input-area" id="messageForm">
<div class="file-input-wrapper">
<input type="file" id="fileInput" accept="*/*" aria-label="Attach file">
<label for="fileInput" class="file-input-label" aria-hidden="true">
<i class="fas fa-paperclip"></i>
</label>
</div>
<textarea id="messageInput" placeholder="Type a message..." maxlength="500" rows="1"></textarea>
<button class="send-btn" id="sendBtn" type="submit" aria-label="Send message">
<i class="fas fa-paper-plane"></i>
</button>
</form>
</div>
</div>
</section>
</main>
<div class="mobile-drawer-backdrop" id="drawerBackdrop"></div>
<script src="/static/main.js"></script>
</body>
</html>