ALIMHGFY commited on
Commit
7b6c2a5
·
verified ·
1 Parent(s): 5a2b596

undefined - Initial Deployment

Browse files
Files changed (2) hide show
  1. README.md +7 -5
  2. index.html +382 -19
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Whatsapp
3
- emoji: 🚀
4
- colorFrom: indigo
5
- colorTo: indigo
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: whatsapp
3
+ emoji: 🐳
4
+ colorFrom: yellow
5
+ colorTo: yellow
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,382 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>WhatsApp Clone</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
+ <style>
10
+ .chat-container {
11
+ height: calc(100vh - 128px);
12
+ }
13
+ .sidebar {
14
+ height: calc(100vh - 64px);
15
+ }
16
+ .message-input {
17
+ resize: none;
18
+ }
19
+ .typing-indicator::after {
20
+ content: '...';
21
+ animation: typing 1.5s infinite;
22
+ }
23
+ @keyframes typing {
24
+ 0% { content: '.'; }
25
+ 33% { content: '..'; }
26
+ 66% { content: '...'; }
27
+ }
28
+ .unread-badge {
29
+ animation: pulse 2s infinite;
30
+ }
31
+ @keyframes pulse {
32
+ 0% { opacity: 1; }
33
+ 50% { opacity: 0.5; }
34
+ 100% { opacity: 1; }
35
+ }
36
+ </style>
37
+ </head>
38
+ <body class="bg-gray-100">
39
+ <!-- Navigation Bar -->
40
+ <nav class="bg-emerald-700 text-white p-4 shadow-md">
41
+ <div class="container mx-auto flex justify-between items-center">
42
+ <div class="flex items-center space-x-4">
43
+ <i class="fab fa-whatsapp text-2xl"></i>
44
+ <span class="text-xl font-semibold">WhatsApp</span>
45
+ </div>
46
+ <div class="flex items-center space-x-4">
47
+ <button class="p-2 rounded-full hover:bg-emerald-600">
48
+ <i class="fas fa-search"></i>
49
+ </button>
50
+ <button class="p-2 rounded-full hover:bg-emerald-600">
51
+ <i class="fas fa-ellipsis-vertical"></i>
52
+ </button>
53
+ </div>
54
+ </div>
55
+ </nav>
56
+
57
+ <div class="container mx-auto flex">
58
+ <!-- Sidebar -->
59
+ <div class="w-1/3 sidebar bg-white border-r border-gray-200 hidden md:block">
60
+ <!-- User Profile -->
61
+ <div class="p-3 bg-gray-50 flex items-center space-x-3">
62
+ <div class="relative">
63
+ <img src="https://randomuser.me/api/portraits/men/1.jpg" alt="Profile" class="w-10 h-10 rounded-full">
64
+ <div class="absolute bottom-0 right-0 w-3 h-3 bg-green-500 rounded-full border-2 border-white"></div>
65
+ </div>
66
+ <div>
67
+ <p class="font-semibold">John Doe</p>
68
+ <p class="text-xs text-gray-500">Online</p>
69
+ </div>
70
+ </div>
71
+
72
+ <!-- Chat List -->
73
+ <div class="overflow-y-auto h-full">
74
+ <div class="p-3 border-b border-gray-100 flex items-center space-x-3 hover:bg-gray-50 cursor-pointer bg-gray-100">
75
+ <div class="relative">
76
+ <img src="https://randomuser.me/api/portraits/women/2.jpg" alt="Profile" class="w-12 h-12 rounded-full">
77
+ <div class="absolute bottom-0 right-0 w-3 h-3 bg-green-500 rounded-full border-2 border-white"></div>
78
+ </div>
79
+ <div class="flex-1">
80
+ <div class="flex justify-between items-center">
81
+ <p class="font-semibold">Sarah Smith</p>
82
+ <span class="text-xs text-gray-500">10:30 AM</span>
83
+ </div>
84
+ <div class="flex justify-between items-center">
85
+ <p class="text-sm text-gray-600 truncate">Hey, how are you doing?</p>
86
+ <span class="bg-green-500 text-white text-xs rounded-full h-5 w-5 flex items-center justify-center unread-badge">2</span>
87
+ </div>
88
+ </div>
89
+ </div>
90
+
91
+ <div class="p-3 border-b border-gray-100 flex items-center space-x-3 hover:bg-gray-50 cursor-pointer">
92
+ <div class="relative">
93
+ <img src="https://randomuser.me/api/portraits/men/3.jpg" alt="Profile" class="w-12 h-12 rounded-full">
94
+ <div class="absolute bottom-0 right-0 w-3 h-3 bg-gray-400 rounded-full border-2 border-white"></div>
95
+ </div>
96
+ <div class="flex-1">
97
+ <div class="flex justify-between items-center">
98
+ <p class="font-semibold">Work Group</p>
99
+ <span class="text-xs text-gray-500">Yesterday</span>
100
+ </div>
101
+ <div class="flex justify-between items-center">
102
+ <p class="text-sm text-gray-600 truncate">Mike: The meeting is at 3pm</p>
103
+ <i class="fas fa-check-double text-gray-400"></i>
104
+ </div>
105
+ </div>
106
+ </div>
107
+
108
+ <div class="p-3 border-b border-gray-100 flex items-center space-x-3 hover:bg-gray-50 cursor-pointer">
109
+ <div class="relative">
110
+ <img src="https://randomuser.me/api/portraits/women/4.jpg" alt="Profile" class="w-12 h-12 rounded-full">
111
+ <div class="absolute bottom-0 right-0 w-3 h-3 bg-green-500 rounded-full border-2 border-white"></div>
112
+ </div>
113
+ <div class="flex-1">
114
+ <div class="flex justify-between items-center">
115
+ <p class="font-semibold">Emma Johnson</p>
116
+ <span class="text-xs text-gray-500">Yesterday</span>
117
+ </div>
118
+ <div class="flex justify-between items-center">
119
+ <p class="text-sm text-gray-600 truncate typing-indicator">Emma is typing</p>
120
+ <i class="fas fa-check-double text-blue-500"></i>
121
+ </div>
122
+ </div>
123
+ </div>
124
+
125
+ <!-- More chat items... -->
126
+ </div>
127
+ </div>
128
+
129
+ <!-- Chat Area -->
130
+ <div class="flex-1 flex flex-col bg-gray-50">
131
+ <!-- Chat Header -->
132
+ <div class="p-3 bg-gray-100 border-b border-gray-200 flex items-center justify-between">
133
+ <div class="flex items-center space-x-3">
134
+ <button id="backButton" class="p-2 rounded-full hover:bg-gray-200 md:hidden">
135
+ <i class="fas fa-arrow-left"></i>
136
+ </button>
137
+ <div class="relative">
138
+ <img src="https://randomuser.me/api/portraits/women/2.jpg" alt="Profile" class="w-10 h-10 rounded-full">
139
+ <div class="absolute bottom-0 right-0 w-3 h-3 bg-green-500 rounded-full border-2 border-white"></div>
140
+ </div>
141
+ <div>
142
+ <p class="font-semibold">Sarah Smith</p>
143
+ <p class="text-xs text-gray-500">Online</p>
144
+ </div>
145
+ </div>
146
+ <div class="flex items-center space-x-4">
147
+ <button class="p-2 rounded-full hover:bg-gray-200">
148
+ <i class="fas fa-phone"></i>
149
+ </button>
150
+ <button class="p-2 rounded-full hover:bg-gray-200">
151
+ <i class="fas fa-video"></i>
152
+ </button>
153
+ <button class="p-2 rounded-full hover:bg-gray-200">
154
+ <i class="fas fa-search"></i>
155
+ </button>
156
+ <button class="p-2 rounded-full hover:bg-gray-200">
157
+ <i class="fas fa-ellipsis-vertical"></i>
158
+ </button>
159
+ </div>
160
+ </div>
161
+
162
+ <!-- Messages -->
163
+ <div class="flex-1 chat-container overflow-y-auto p-4 space-y-3">
164
+ <!-- Date divider -->
165
+ <div class="flex justify-center">
166
+ <span class="bg-gray-200 text-xs text-gray-600 px-2 py-1 rounded-full">TODAY</span>
167
+ </div>
168
+
169
+ <!-- Incoming message -->
170
+ <div class="flex items-start space-x-2">
171
+ <img src="https://randomuser.me/api/portraits/women/2.jpg" alt="Profile" class="w-8 h-8 rounded-full mt-1">
172
+ <div class="max-w-xs md:max-w-md">
173
+ <div class="bg-white p-3 rounded-lg rounded-tl-none shadow">
174
+ <p>Hey there! How are you doing?</p>
175
+ </div>
176
+ <span class="text-xs text-gray-500 mt-1">10:30 AM</span>
177
+ </div>
178
+ </div>
179
+
180
+ <!-- Outgoing message -->
181
+ <div class="flex justify-end">
182
+ <div class="max-w-xs md:max-w-md">
183
+ <div class="bg-emerald-100 p-3 rounded-lg rounded-tr-none shadow">
184
+ <p>I'm good, thanks! Just working on some projects.</p>
185
+ </div>
186
+ <div class="flex justify-end items-center space-x-1">
187
+ <span class="text-xs text-gray-500">10:32 AM</span>
188
+ <i class="fas fa-check-double text-blue-500 text-xs"></i>
189
+ </div>
190
+ </div>
191
+ </div>
192
+
193
+ <!-- Incoming message -->
194
+ <div class="flex items-start space-x-2">
195
+ <img src="https://randomuser.me/api/portraits/women/2.jpg" alt="Profile" class="w-8 h-8 rounded-full mt-1">
196
+ <div class="max-w-xs md:max-w-md">
197
+ <div class="bg-white p-3 rounded-lg rounded-tl-none shadow">
198
+ <p>That's great! Would you like to meet for coffee this weekend?</p>
199
+ </div>
200
+ <span class="text-xs text-gray-500 mt-1">10:33 AM</span>
201
+ </div>
202
+ </div>
203
+
204
+ <!-- Outgoing message -->
205
+ <div class="flex justify-end">
206
+ <div class="max-w-xs md:max-w-md">
207
+ <div class="bg-emerald-100 p-3 rounded-lg rounded-tr-none shadow">
208
+ <p>Sure, that sounds good. How about Saturday at 2pm?</p>
209
+ </div>
210
+ <div class="flex justify-end items-center space-x-1">
211
+ <span class="text-xs text-gray-500">10:35 AM</span>
212
+ <i class="fas fa-check-double text-blue-500 text-xs"></i>
213
+ </div>
214
+ </div>
215
+ </div>
216
+
217
+ <!-- Incoming message -->
218
+ <div class="flex items-start space-x-2">
219
+ <img src="https://randomuser.me/api/portraits/women/2.jpg" alt="Profile" class="w-8 h-8 rounded-full mt-1">
220
+ <div class="max-w-xs md:max-w-md">
221
+ <div class="bg-white p-3 rounded-lg rounded-tl-none shadow">
222
+ <p>Perfect! See you then at the usual place.</p>
223
+ </div>
224
+ <span class="text-xs text-gray-500 mt-1">10:36 AM</span>
225
+ </div>
226
+ </div>
227
+
228
+ <!-- Typing indicator -->
229
+ <div class="flex items-start space-x-2">
230
+ <img src="https://randomuser.me/api/portraits/women/2.jpg" alt="Profile" class="w-8 h-8 rounded-full mt-1">
231
+ <div class="max-w-xs md:max-w-md">
232
+ <div class="bg-white p-3 rounded-lg rounded-tl-none shadow">
233
+ <p class="typing-indicator"></p>
234
+ </div>
235
+ </div>
236
+ </div>
237
+ </div>
238
+
239
+ <!-- Message Input -->
240
+ <div class="p-3 bg-gray-100 border-t border-gray-200">
241
+ <div class="flex items-center space-x-2">
242
+ <button class="p-2 rounded-full hover:bg-gray-200">
243
+ <i class="far fa-face-smile text-gray-600"></i>
244
+ </button>
245
+ <button class="p-2 rounded-full hover:bg-gray-200">
246
+ <i class="fas fa-paperclip text-gray-600"></i>
247
+ </button>
248
+ <div class="flex-1">
249
+ <textarea id="messageInput" class="w-full message-input p-2 rounded-lg border border-gray-300 focus:outline-none focus:ring-2 focus:ring-emerald-500 focus:border-transparent" rows="1" placeholder="Type a message"></textarea>
250
+ </div>
251
+ <button id="sendButton" class="p-2 rounded-full bg-emerald-600 text-white hover:bg-emerald-700">
252
+ <i class="fas fa-paper-plane"></i>
253
+ </button>
254
+ </div>
255
+ </div>
256
+ </div>
257
+ </div>
258
+
259
+ <!-- Mobile bottom navigation -->
260
+ <div class="md:hidden fixed bottom-0 left-0 right-0 bg-white border-t border-gray-200">
261
+ <div class="flex justify-around items-center p-2">
262
+ <button class="p-3 text-gray-600">
263
+ <i class="fas fa-comment text-xl"></i>
264
+ </button>
265
+ <button class="p-3 text-gray-600">
266
+ <i class="fas fa-users text-xl"></i>
267
+ </button>
268
+ <button class="p-3 text-gray-600">
269
+ <i class="fas fa-phone text-xl"></i>
270
+ </button>
271
+ <button class="p-3 text-gray-600">
272
+ <i class="fas fa-gear text-xl"></i>
273
+ </button>
274
+ </div>
275
+ </div>
276
+
277
+ <script>
278
+ // Mobile navigation between chat list and chat area
279
+ const backButton = document.getElementById('backButton');
280
+ const sidebar = document.querySelector('.sidebar');
281
+ const chatArea = document.querySelector('.flex-1.flex.flex-col');
282
+
283
+ if (backButton) {
284
+ backButton.addEventListener('click', () => {
285
+ chatArea.classList.add('hidden');
286
+ sidebar.classList.remove('hidden');
287
+ });
288
+ }
289
+
290
+ // Handle sending messages
291
+ const messageInput = document.getElementById('messageInput');
292
+ const sendButton = document.getElementById('sendButton');
293
+ const messagesContainer = document.querySelector('.chat-container');
294
+
295
+ function sendMessage() {
296
+ const message = messageInput.value.trim();
297
+ if (message) {
298
+ // Create outgoing message element
299
+ const messageElement = document.createElement('div');
300
+ messageElement.className = 'flex justify-end';
301
+ messageElement.innerHTML = `
302
+ <div class="max-w-xs md:max-w-md">
303
+ <div class="bg-emerald-100 p-3 rounded-lg rounded-tr-none shadow">
304
+ <p>${message}</p>
305
+ </div>
306
+ <div class="flex justify-end items-center space-x-1">
307
+ <span class="text-xs text-gray-500">${new Date().toLocaleTimeString([], {hour: '2-digit', minute:'2-digit'})}</span>
308
+ <i class="fas fa-check-double text-gray-400 text-xs"></i>
309
+ </div>
310
+ </div>
311
+ `;
312
+
313
+ // Append to messages container
314
+ messagesContainer.appendChild(messageElement);
315
+
316
+ // Clear input
317
+ messageInput.value = '';
318
+
319
+ // Scroll to bottom
320
+ messagesContainer.scrollTop = messagesContainer.scrollHeight;
321
+
322
+ // Simulate reply after 1-3 seconds
323
+ setTimeout(() => {
324
+ const replies = [
325
+ "Sounds good!",
326
+ "I'll get back to you on that.",
327
+ "Thanks for letting me know.",
328
+ "Can we talk about this later?",
329
+ "👍",
330
+ "Interesting! Tell me more."
331
+ ];
332
+ const randomReply = replies[Math.floor(Math.random() * replies.length)];
333
+
334
+ const replyElement = document.createElement('div');
335
+ replyElement.className = 'flex items-start space-x-2';
336
+ replyElement.innerHTML = `
337
+ <img src="https://randomuser.me/api/portraits/women/2.jpg" alt="Profile" class="w-8 h-8 rounded-full mt-1">
338
+ <div class="max-w-xs md:max-w-md">
339
+ <div class="bg-white p-3 rounded-lg rounded-tl-none shadow">
340
+ <p>${randomReply}</p>
341
+ </div>
342
+ <span class="text-xs text-gray-500 mt-1">${new Date().toLocaleTimeString([], {hour: '2-digit', minute:'2-digit'})}</span>
343
+ </div>
344
+ `;
345
+
346
+ messagesContainer.appendChild(replyElement);
347
+ messagesContainer.scrollTop = messagesContainer.scrollHeight;
348
+ }, 1000 + Math.random() * 2000);
349
+ }
350
+ }
351
+
352
+ sendButton.addEventListener('click', sendMessage);
353
+
354
+ messageInput.addEventListener('keypress', (e) => {
355
+ if (e.key === 'Enter' && !e.shiftKey) {
356
+ e.preventDefault();
357
+ sendMessage();
358
+ }
359
+ });
360
+
361
+ // Auto-resize textarea
362
+ messageInput.addEventListener('input', function() {
363
+ this.style.height = 'auto';
364
+ this.style.height = (this.scrollHeight) + 'px';
365
+ });
366
+
367
+ // Simulate notification
368
+ setTimeout(() => {
369
+ const notificationSound = new Audio('https://assets.mixkit.co/sfx/preview/mixkit-alarm-digital-clock-beep-989.mp3');
370
+ notificationSound.play().catch(e => console.log("Audio play failed:", e));
371
+
372
+ // This would be a system notification in a real app
373
+ if (Notification.permission === "granted") {
374
+ new Notification("New Message", {
375
+ body: "Sarah: Can we talk about the project?",
376
+ icon: "https://randomuser.me/api/portraits/women/2.jpg"
377
+ });
378
+ }
379
+ }, 5000);
380
+ </script>
381
+ <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=ALIMHGFY/whatsapp" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
382
+ </html>