-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathchat.html
More file actions
144 lines (135 loc) · 6.02 KB
/
chat.html
File metadata and controls
144 lines (135 loc) · 6.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Chat — ApnaWorker</title>
<link rel="stylesheet" href="css/style.css"/>
<link rel="stylesheet" href="css/navbar.css"/>
<link rel="stylesheet" href="css/chat.css"/>
<link rel="stylesheet" href="css/responsive.css"/>
<link rel="preconnect" href="https://fonts.googleapis.com"/>
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap" rel="stylesheet"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css"/>
</head>
<body class="dark-mode">
<nav class="navbar" id="navbar">
<div class="nav-container">
<a href="index.html" class="nav-logo">
<span class="logo-icon"><i class="fa-solid fa-bolt"></i></span>
<span class="logo-text">Apna<span class="gradient-text">Worker</span></span>
</a>
<ul class="nav-links" id="navLinks">
<li><a href="index.html" class="nav-link">Home</a></li>
<li><a href="freelancer.html" class="nav-link">Find Workers</a></li>
<li><a href="booking.html" class="nav-link">Bookings</a></li>
<li><a href="dashboard.html" class="nav-link">Dashboard</a></li>
<li><a href="chat.html" class="nav-link active">Chat</a></li>
</ul>
<div class="nav-actions">
<button class="dark-mode-toggle" id="darkModeToggle"><i class="fa-solid fa-moon" id="themeIcon"></i></button>
<a href="login.html" class="btn btn-outline">Login</a>
<a href="register.html" class="btn btn-primary">Get Started</a>
<button class="hamburger" id="hamburger"><span></span><span></span><span></span></button>
</div>
</div>
</nav>
<div class="chat-page">
<!-- CONVERSATIONS LIST -->
<aside class="chat-sidebar glass-card">
<div class="chat-sidebar-header">
<h3>Messages</h3>
<button class="icon-btn" title="New Chat"><i class="fa-solid fa-pen-to-square"></i></button>
</div>
<div class="chat-search">
<div class="input-wrapper">
<i class="fa-solid fa-magnifying-glass input-icon"></i>
<input type="text" class="form-input" placeholder="Search conversations..." oninput="filterConversations(this.value)"/>
</div>
</div>
<div class="conversations-list" id="conversationsList">
<!-- JS injected -->
</div>
</aside>
<!-- CHAT WINDOW -->
<div class="chat-window">
<!-- Chat Header -->
<div class="chat-header glass-card" id="chatHeader">
<div class="chat-user-info" id="chatUserInfo">
<div class="chat-avatar gradient-bg" id="chatAvatarHeader">R</div>
<div>
<strong id="chatUserName">Rajesh Kumar</strong>
<span class="online-status" id="onlineStatus"><span class="online-dot"></span> Online</span>
</div>
</div>
<div class="chat-header-actions">
<button class="icon-btn" title="Voice Call"><i class="fa-solid fa-phone"></i></button>
<button class="icon-btn" title="Video Call"><i class="fa-solid fa-video"></i></button>
<button class="icon-btn" title="More Options"><i class="fa-solid fa-ellipsis-vertical"></i></button>
</div>
</div>
<!-- Messages Area -->
<div class="chat-messages" id="chatMessages">
<!-- JS injected -->
</div>
<!-- Message Input -->
<div class="chat-input-bar glass-card">
<button class="icon-btn" title="Attach File" onclick="document.getElementById('fileInput').click()">
<i class="fa-solid fa-paperclip"></i>
</button>
<input type="file" id="fileInput" style="display:none;" onchange="handleFileAttachment(this)"/>
<button class="icon-btn" title="Emoji"><i class="fa-regular fa-face-smile"></i></button>
<input type="text" id="messageInput" class="chat-text-input" placeholder="Type a message..."
onkeydown="if(event.key==='Enter' && !event.shiftKey){ event.preventDefault(); sendMessage(); }"/>
<button class="btn btn-primary chat-send-btn" onclick="sendMessage()">
<i class="fa-solid fa-paper-plane"></i>
</button>
</div>
</div>
<!-- BOOKING QUICK PANEL -->
<aside class="chat-info-panel glass-card" id="chatInfoPanel">
<div class="info-panel-header">
<h4>Quick Actions</h4>
</div>
<div class="info-panel-avatar">
<div class="large-avatar gradient-bg" id="infoPanelAvatar">R</div>
<strong id="infoPanelName">Rajesh Kumar</strong>
<span class="badge badge-verified"><i class="fa-solid fa-shield-halved"></i> Verified</span>
</div>
<div class="quick-actions">
<a href="booking.html" class="quick-action-btn glass-card">
<i class="fa-solid fa-calendar-plus gradient-text"></i>
<span>Book Now</span>
</a>
<button class="quick-action-btn glass-card" onclick="shareLocation()">
<i class="fa-solid fa-location-dot gradient-text"></i>
<span>Share Location</span>
</button>
<button class="quick-action-btn glass-card" onclick="sendFile()">
<i class="fa-solid fa-file gradient-text"></i>
<span>Send File</span>
</button>
<button class="quick-action-btn glass-card" onclick="blockUser()">
<i class="fa-solid fa-ban" style="color:#ef4444;"></i>
<span>Block</span>
</button>
</div>
<div class="chat-booking-status glass-card">
<h5>Active Booking</h5>
<div class="mini-booking">
<i class="fa-solid fa-bolt gradient-text"></i>
<div>
<strong>Electrical Repair</strong>
<span>Dec 20, 2024 · 10 AM</span>
</div>
</div>
<span class="status-badge pending">Upcoming</span>
</div>
</aside>
</div>
<script src="js/api.js"></script>
<script src="js/app.js"></script>
<script src="js/chat.js"></script>
<script src="js/darkmode.js"></script>
</body>
</html>