Muhammad Farooq commited on
Commit
ebeb20a
·
verified ·
1 Parent(s): 5b649e8

read this full repo including code and make a similar simple project that have purpose of graphics agents like it work like a human, check email, copy body of email and paste it on the deepseek or chatgpt.com and get the reply and also do work with the user on desktop https://github.com/huggingface/screensuite?tab=readme-ov-file - Initial Deployment

Browse files
Files changed (2) hide show
  1. README.md +6 -4
  2. index.html +535 -19
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Email Checker
3
- emoji: 🏢
4
  colorFrom: blue
5
- colorTo: red
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: email-checker
3
+ emoji: 🐳
4
  colorFrom: blue
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,535 @@
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>AI Graphics Assistant</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
+ .window {
11
+ box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
12
+ transition: all 0.3s ease;
13
+ }
14
+ .window:hover {
15
+ transform: translateY(-2px);
16
+ box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
17
+ }
18
+ .taskbar {
19
+ backdrop-filter: blur(10px);
20
+ }
21
+ .email-item:hover {
22
+ background-color: rgba(59, 130, 246, 0.1);
23
+ }
24
+ .ai-response {
25
+ border-left: 4px solid #3b82f6;
26
+ }
27
+ .typing-indicator span {
28
+ display: inline-block;
29
+ width: 8px;
30
+ height: 8px;
31
+ border-radius: 50%;
32
+ background-color: #6b7280;
33
+ margin: 0 2px;
34
+ animation: bounce 1.4s infinite ease-in-out;
35
+ }
36
+ .typing-indicator span:nth-child(2) {
37
+ animation-delay: 0.2s;
38
+ }
39
+ .typing-indicator span:nth-child(3) {
40
+ animation-delay: 0.4s;
41
+ }
42
+ @keyframes bounce {
43
+ 0%, 60%, 100% { transform: translateY(0); }
44
+ 30% { transform: translateY(-5px); }
45
+ }
46
+ .desktop-icon {
47
+ transition: all 0.2s ease;
48
+ }
49
+ .desktop-icon:hover {
50
+ transform: scale(1.05);
51
+ background-color: rgba(59, 130, 246, 0.1);
52
+ }
53
+ .resize-handle {
54
+ position: absolute;
55
+ width: 10px;
56
+ height: 10px;
57
+ right: 0;
58
+ bottom: 0;
59
+ cursor: nwse-resize;
60
+ }
61
+ </style>
62
+ </head>
63
+ <body class="bg-gray-100 h-screen overflow-hidden font-sans">
64
+ <!-- Desktop Background -->
65
+ <div class="absolute inset-0 bg-gradient-to-br from-blue-50 to-indigo-100"></div>
66
+
67
+ <!-- Desktop Icons -->
68
+ <div class="absolute top-4 left-4 flex flex-col space-y-4">
69
+ <div class="desktop-icon w-16 h-16 flex flex-col items-center justify-center p-2 rounded cursor-pointer">
70
+ <i class="fas fa-envelope text-blue-500 text-2xl mb-1"></i>
71
+ <span class="text-xs text-center text-gray-700">Email Client</span>
72
+ </div>
73
+ <div class="desktop-icon w-16 h-16 flex flex-col items-center justify-center p-2 rounded cursor-pointer">
74
+ <i class="fas fa-robot text-indigo-500 text-2xl mb-1"></i>
75
+ <span class="text-xs text-center text-gray-700">AI Assistant</span>
76
+ </div>
77
+ <div class="desktop-icon w-16 h-16 flex flex-col items-center justify-center p-2 rounded cursor-pointer">
78
+ <i class="fas fa-tasks text-green-500 text-2xl mb-1"></i>
79
+ <span class="text-xs text-center text-gray-700">Tasks</span>
80
+ </div>
81
+ </div>
82
+
83
+ <!-- Windows -->
84
+ <div class="absolute top-20 left-20 w-96 bg-white rounded-lg window" id="email-window">
85
+ <div class="bg-gray-800 text-white px-3 py-2 rounded-t-lg flex justify-between items-center">
86
+ <div class="flex items-center">
87
+ <i class="fas fa-envelope mr-2"></i>
88
+ <span>Email Client</span>
89
+ </div>
90
+ <div class="flex space-x-2">
91
+ <button class="w-3 h-3 rounded-full bg-yellow-500"></button>
92
+ <button class="w-3 h-3 rounded-full bg-green-500"></button>
93
+ <button class="w-3 h-3 rounded-full bg-red-500"></button>
94
+ </div>
95
+ </div>
96
+ <div class="p-4">
97
+ <div class="flex mb-4">
98
+ <input type="text" placeholder="Search emails..." class="flex-1 px-3 py-2 border rounded-l focus:outline-none focus:ring-1 focus:ring-blue-500">
99
+ <button class="bg-blue-500 text-white px-3 py-2 rounded-r hover:bg-blue-600">
100
+ <i class="fas fa-search"></i>
101
+ </button>
102
+ </div>
103
+ <div class="border rounded overflow-hidden">
104
+ <div class="bg-gray-100 p-2 border-b flex justify-between items-center">
105
+ <span class="font-medium">Inbox (3 new)</span>
106
+ <button class="text-blue-500 hover:text-blue-700">
107
+ <i class="fas fa-sync-alt"></i>
108
+ </button>
109
+ </div>
110
+ <div class="divide-y divide-gray-200 max-h-64 overflow-y-auto" id="email-list">
111
+ <div class="email-item p-3 cursor-pointer hover:bg-blue-50" data-id="1">
112
+ <div class="flex justify-between">
113
+ <span class="font-medium">John Doe</span>
114
+ <span class="text-xs text-gray-500">10:30 AM</span>
115
+ </div>
116
+ <div class="text-sm text-gray-700">Project deadline extension request</div>
117
+ <div class="text-xs text-gray-500 truncate">Hi team, I wanted to request an extension for the current project deadline due to unexpected...</div>
118
+ </div>
119
+ <div class="email-item p-3 cursor-pointer hover:bg-blue-50" data-id="2">
120
+ <div class="flex justify-between">
121
+ <span class="font-medium">Sarah Johnson</span>
122
+ <span class="text-xs text-gray-500">9:15 AM</span>
123
+ </div>
124
+ <div class="text-sm text-gray-700">Meeting notes from yesterday</div>
125
+ <div class="text-xs text-gray-500 truncate">Attached are the meeting notes from our discussion yesterday about the new product features...</div>
126
+ </div>
127
+ <div class="email-item p-3 cursor-pointer hover:bg-blue-50" data-id="3">
128
+ <div class="flex justify-between">
129
+ <span class="font-medium">Tech Support</span>
130
+ <span class="text-xs text-gray-500">Yesterday</span>
131
+ </div>
132
+ <div class="text-sm text-gray-700">Your support ticket #45782</div>
133
+ <div class="text-xs text-gray-500 truncate">We've resolved your issue with the login authentication. Please let us know if you experience any further...</div>
134
+ </div>
135
+ </div>
136
+ </div>
137
+ </div>
138
+ <div class="resize-handle"></div>
139
+ </div>
140
+
141
+ <div class="absolute top-32 left-96 w-96 bg-white rounded-lg window hidden" id="email-detail-window">
142
+ <div class="bg-gray-800 text-white px-3 py-2 rounded-t-lg flex justify-between items-center">
143
+ <div class="flex items-center">
144
+ <i class="fas fa-envelope-open mr-2"></i>
145
+ <span>Email Details</span>
146
+ </div>
147
+ <div class="flex space-x-2">
148
+ <button class="w-3 h-3 rounded-full bg-yellow-500"></button>
149
+ <button class="w-3 h-3 rounded-full bg-green-500"></button>
150
+ <button class="w-3 h-3 rounded-full bg-red-500"></button>
151
+ </div>
152
+ </div>
153
+ <div class="p-4">
154
+ <div class="mb-4">
155
+ <div class="flex justify-between items-start mb-2">
156
+ <div>
157
+ <h3 class="font-medium" id="email-sender">John Doe</h3>
158
+ <p class="text-xs text-gray-500" id="email-subject">Project deadline extension request</p>
159
+ </div>
160
+ <span class="text-xs text-gray-500" id="email-time">10:30 AM</span>
161
+ </div>
162
+ <div class="text-sm text-gray-700 p-3 bg-gray-50 rounded" id="email-body">
163
+ Hi team,<br><br>
164
+ I wanted to request an extension for the current project deadline due to unexpected delays in receiving the design assets from our vendor. We're currently two days behind schedule and would need at least three more working days to complete the implementation.<br><br>
165
+ Please let me know if this would be possible. I've attached the revised timeline for your review.<br><br>
166
+ Best regards,<br>
167
+ John
168
+ </div>
169
+ </div>
170
+ <div class="flex space-x-2">
171
+ <button class="bg-blue-500 text-white px-3 py-1 rounded hover:bg-blue-600 text-sm" id="process-email-btn">
172
+ <i class="fas fa-robot mr-1"></i> Process with AI
173
+ </button>
174
+ <button class="bg-gray-200 text-gray-700 px-3 py-1 rounded hover:bg-gray-300 text-sm">
175
+ <i class="fas fa-reply mr-1"></i> Reply
176
+ </button>
177
+ <button class="bg-gray-200 text-gray-700 px-3 py-1 rounded hover:bg-gray-300 text-sm">
178
+ <i class="fas fa-trash mr-1"></i> Delete
179
+ </button>
180
+ </div>
181
+ </div>
182
+ <div class="resize-handle"></div>
183
+ </div>
184
+
185
+ <div class="absolute top-40 right-20 w-96 bg-white rounded-lg window hidden" id="ai-assistant-window">
186
+ <div class="bg-indigo-800 text-white px-3 py-2 rounded-t-lg flex justify-between items-center">
187
+ <div class="flex items-center">
188
+ <i class="fas fa-robot mr-2"></i>
189
+ <span>AI Assistant</span>
190
+ </div>
191
+ <div class="flex space-x-2">
192
+ <button class="w-3 h-3 rounded-full bg-yellow-500"></button>
193
+ <button class="w-3 h-3 rounded-full bg-green-500"></button>
194
+ <button class="w-3 h-3 rounded-full bg-red-500"></button>
195
+ </div>
196
+ </div>
197
+ <div class="p-4">
198
+ <div class="mb-4 flex items-start">
199
+ <div class="bg-indigo-100 text-indigo-800 rounded-full w-8 h-8 flex items-center justify-center mr-2">
200
+ <i class="fas fa-robot"></i>
201
+ </div>
202
+ <div class="flex-1">
203
+ <div class="bg-gray-100 p-3 rounded-lg ai-response">
204
+ <p>Hello! I'm your AI assistant. I can help you process emails, generate responses, and assist with various tasks. How can I help you today?</p>
205
+ </div>
206
+ </div>
207
+ </div>
208
+
209
+ <div class="mb-4 flex items-start hidden" id="email-processing-container">
210
+ <div class="bg-indigo-100 text-indigo-800 rounded-full w-8 h-8 flex items-center justify-center mr-2">
211
+ <i class="fas fa-robot"></i>
212
+ </div>
213
+ <div class="flex-1">
214
+ <div class="bg-gray-100 p-3 rounded-lg ai-response">
215
+ <p class="font-medium mb-2">Processing email from <span id="ai-email-sender">John Doe</span>:</p>
216
+ <div class="text-sm mb-3 p-2 bg-white rounded border" id="ai-email-content">
217
+ Hi team, I wanted to request an extension for the current project deadline due to unexpected delays...
218
+ </div>
219
+ <div class="typing-indicator mb-2 hidden" id="ai-typing">
220
+ <span></span>
221
+ <span></span>
222
+ <span></span>
223
+ </div>
224
+ <div class="hidden" id="ai-response-content">
225
+ <p class="font-medium mb-1">Suggested Response:</p>
226
+ <div class="text-sm p-2 bg-white rounded border mb-2" id="ai-suggested-response">
227
+ Hi John,<br><br>
228
+ Thank you for your email. We understand that unexpected delays can occur and we're happy to accommodate your request for a deadline extension. The additional three working days you've requested are approved.<br><br>
229
+ Please keep us updated on your progress and let us know if you need any additional support from our end.<br><br>
230
+ Best regards,<br>
231
+ [Your Name]
232
+ </div>
233
+ <div class="flex space-x-2">
234
+ <button class="bg-indigo-500 text-white px-3 py-1 rounded hover:bg-indigo-600 text-sm" id="use-response-btn">
235
+ <i class="fas fa-check mr-1"></i> Use This Response
236
+ </button>
237
+ <button class="bg-gray-200 text-gray-700 px-3 py-1 rounded hover:bg-gray-300 text-sm" id="regenerate-btn">
238
+ <i class="fas fa-sync-alt mr-1"></i> Regenerate
239
+ </button>
240
+ </div>
241
+ </div>
242
+ </div>
243
+ </div>
244
+ </div>
245
+
246
+ <div class="mt-4">
247
+ <div class="flex">
248
+ <input type="text" placeholder="Ask the AI assistant..." class="flex-1 px-3 py-2 border rounded-l focus:outline-none focus:ring-1 focus:ring-indigo-500" id="ai-prompt">
249
+ <button class="bg-indigo-500 text-white px-3 py-2 rounded-r hover:bg-indigo-600" id="send-prompt-btn">
250
+ <i class="fas fa-paper-plane"></i>
251
+ </button>
252
+ </div>
253
+ </div>
254
+ </div>
255
+ <div class="resize-handle"></div>
256
+ </div>
257
+
258
+ <!-- Taskbar -->
259
+ <div class="absolute bottom-0 left-0 right-0 bg-gray-800 bg-opacity-90 text-white taskbar">
260
+ <div class="flex items-center justify-between px-4 py-1">
261
+ <div class="flex items-center space-x-4">
262
+ <button class="p-2 rounded hover:bg-gray-700" id="start-btn">
263
+ <i class="fas fa-bars"></i>
264
+ </button>
265
+ <button class="p-2 rounded hover:bg-gray-700" id="email-app-btn">
266
+ <i class="fas fa-envelope"></i>
267
+ </button>
268
+ <button class="p-2 rounded hover:bg-gray-700" id="ai-app-btn">
269
+ <i class="fas fa-robot"></i>
270
+ </button>
271
+ </div>
272
+ <div class="flex items-center space-x-2">
273
+ <span id="current-time" class="text-sm">10:45 AM</span>
274
+ <button class="p-1 rounded hover:bg-gray-700">
275
+ <i class="fas fa-wifi"></i>
276
+ </button>
277
+ <button class="p-1 rounded hover:bg-gray-700">
278
+ <i class="fas fa-battery-three-quarters"></i>
279
+ </button>
280
+ </div>
281
+ </div>
282
+ </div>
283
+
284
+ <script>
285
+ // Update current time
286
+ function updateTime() {
287
+ const now = new Date();
288
+ let hours = now.getHours();
289
+ const minutes = now.getMinutes().toString().padStart(2, '0');
290
+ const ampm = hours >= 12 ? 'PM' : 'AM';
291
+ hours = hours % 12;
292
+ hours = hours ? hours : 12; // the hour '0' should be '12'
293
+ document.getElementById('current-time').textContent = `${hours}:${minutes} ${ampm}`;
294
+ }
295
+ setInterval(updateTime, 1000);
296
+ updateTime();
297
+
298
+ // Window management
299
+ let activeWindow = null;
300
+ let zIndex = 1;
301
+
302
+ function bringToFront(windowElement) {
303
+ windowElement.style.zIndex = zIndex++;
304
+ activeWindow = windowElement;
305
+ }
306
+
307
+ function setupWindow(windowElement) {
308
+ const header = windowElement.querySelector('.bg-gray-800, .bg-indigo-800');
309
+ let isDragging = false;
310
+ let offsetX, offsetY;
311
+
312
+ // Make window draggable
313
+ header.addEventListener('mousedown', (e) => {
314
+ isDragging = true;
315
+ offsetX = e.clientX - windowElement.getBoundingClientRect().left;
316
+ offsetY = e.clientY - windowElement.getBoundingClientRect().top;
317
+ bringToFront(windowElement);
318
+ e.preventDefault();
319
+ });
320
+
321
+ document.addEventListener('mousemove', (e) => {
322
+ if (!isDragging) return;
323
+
324
+ const x = e.clientX - offsetX;
325
+ const y = e.clientY - offsetY;
326
+
327
+ windowElement.style.left = `${x}px`;
328
+ windowElement.style.top = `${y}px`;
329
+ });
330
+
331
+ document.addEventListener('mouseup', () => {
332
+ isDragging = false;
333
+ });
334
+
335
+ // Make window resizable
336
+ const resizeHandle = windowElement.querySelector('.resize-handle');
337
+ let isResizing = false;
338
+ let startX, startY, startWidth, startHeight;
339
+
340
+ resizeHandle.addEventListener('mousedown', (e) => {
341
+ isResizing = true;
342
+ startX = e.clientX;
343
+ startY = e.clientY;
344
+ startWidth = parseInt(document.defaultView.getComputedStyle(windowElement).width, 10);
345
+ startHeight = parseInt(document.defaultView.getComputedStyle(windowElement).height, 10);
346
+ bringToFront(windowElement);
347
+ e.preventDefault();
348
+ });
349
+
350
+ document.addEventListener('mousemove', (e) => {
351
+ if (!isResizing) return;
352
+
353
+ const width = startWidth + (e.clientX - startX);
354
+ const height = startHeight + (e.clientY - startY);
355
+
356
+ windowElement.style.width = `${width}px`;
357
+ windowElement.style.height = `${height}px`;
358
+ });
359
+
360
+ document.addEventListener('mouseup', () => {
361
+ isResizing = false;
362
+ });
363
+
364
+ // Close buttons
365
+ const closeButtons = windowElement.querySelectorAll('.bg-red-500');
366
+ closeButtons.forEach(button => {
367
+ button.addEventListener('click', () => {
368
+ windowElement.style.display = 'none';
369
+ });
370
+ });
371
+
372
+ // Minimize buttons
373
+ const minimizeButtons = windowElement.querySelectorAll('.bg-yellow-500');
374
+ minimizeButtons.forEach(button => {
375
+ button.addEventListener('click', () => {
376
+ windowElement.style.display = 'none';
377
+ // In a real app, we'd add it to the taskbar
378
+ });
379
+ });
380
+
381
+ // Maximize buttons
382
+ const maximizeButtons = windowElement.querySelectorAll('.bg-green-500');
383
+ maximizeButtons.forEach(button => {
384
+ button.addEventListener('click', () => {
385
+ if (windowElement.style.width === '90vw' && windowElement.style.height === '80vh') {
386
+ windowElement.style.width = '400px';
387
+ windowElement.style.height = 'auto';
388
+ windowElement.style.left = '80px';
389
+ windowElement.style.top = '80px';
390
+ } else {
391
+ windowElement.style.width = '90vw';
392
+ windowElement.style.height = '80vh';
393
+ windowElement.style.left = '5vw';
394
+ windowElement.style.top = '10vh';
395
+ }
396
+ bringToFront(windowElement);
397
+ });
398
+ });
399
+ }
400
+
401
+ // Initialize windows
402
+ const windows = document.querySelectorAll('.window');
403
+ windows.forEach(window => {
404
+ setupWindow(window);
405
+ window.addEventListener('mousedown', () => bringToFront(window));
406
+ });
407
+
408
+ // Taskbar buttons
409
+ document.getElementById('email-app-btn').addEventListener('click', () => {
410
+ const emailWindow = document.getElementById('email-window');
411
+ emailWindow.style.display = 'block';
412
+ bringToFront(emailWindow);
413
+ });
414
+
415
+ document.getElementById('ai-app-btn').addEventListener('click', () => {
416
+ const aiWindow = document.getElementById('ai-assistant-window');
417
+ aiWindow.style.display = 'block';
418
+ bringToFront(aiWindow);
419
+ });
420
+
421
+ // Email list functionality
422
+ const emailItems = document.querySelectorAll('.email-item');
423
+ const emailDetailWindow = document.getElementById('email-detail-window');
424
+
425
+ emailItems.forEach(item => {
426
+ item.addEventListener('click', () => {
427
+ // Show email details
428
+ const emailId = item.getAttribute('data-id');
429
+ const sender = item.querySelector('span:first-child').textContent;
430
+ const subject = item.querySelector('div:first-of-type').textContent;
431
+ const time = item.querySelector('span:last-child').textContent;
432
+
433
+ document.getElementById('email-sender').textContent = sender;
434
+ document.getElementById('email-subject').textContent = subject;
435
+ document.getElementById('email-time').textContent = time;
436
+
437
+ // In a real app, we'd fetch the full email content based on the ID
438
+
439
+ emailDetailWindow.style.display = 'block';
440
+ bringToFront(emailDetailWindow);
441
+ });
442
+ });
443
+
444
+ // Process email with AI
445
+ document.getElementById('process-email-btn').addEventListener('click', () => {
446
+ const aiWindow = document.getElementById('ai-assistant-window');
447
+ const emailProcessingContainer = document.getElementById('email-processing-container');
448
+ const aiEmailSender = document.getElementById('ai-email-sender');
449
+ const aiEmailContent = document.getElementById('ai-email-content');
450
+ const aiTyping = document.getElementById('ai-typing');
451
+ const aiResponseContent = document.getElementById('ai-response-content');
452
+
453
+ // Get email details
454
+ const sender = document.getElementById('email-sender').textContent;
455
+ const body = document.getElementById('email-body').textContent;
456
+
457
+ // Update AI window
458
+ aiEmailSender.textContent = sender;
459
+ aiEmailContent.textContent = body;
460
+
461
+ // Show AI window and processing container
462
+ aiWindow.style.display = 'block';
463
+ emailProcessingContainer.classList.remove('hidden');
464
+ aiTyping.classList.remove('hidden');
465
+ aiResponseContent.classList.add('hidden');
466
+
467
+ bringToFront(aiWindow);
468
+
469
+ // Simulate AI processing
470
+ setTimeout(() => {
471
+ aiTyping.classList.add('hidden');
472
+ aiResponseContent.classList.remove('hidden');
473
+ }, 2000);
474
+ });
475
+
476
+ // AI assistant interaction
477
+ document.getElementById('send-prompt-btn').addEventListener('click', () => {
478
+ const prompt = document.getElementById('ai-prompt').value;
479
+ if (!prompt.trim()) return;
480
+
481
+ // In a real app, this would send the prompt to an AI API
482
+ console.log('Sending prompt to AI:', prompt);
483
+
484
+ // Clear input
485
+ document.getElementById('ai-prompt').value = '';
486
+ });
487
+
488
+ // Use AI-generated response
489
+ document.getElementById('use-response-btn').addEventListener('click', () => {
490
+ alert('Response copied to clipboard and ready to use in email reply!');
491
+ });
492
+
493
+ // Regenerate response
494
+ document.getElementById('regenerate-btn').addEventListener('click', () => {
495
+ const aiTyping = document.getElementById('ai-typing');
496
+ const aiResponseContent = document.getElementById('ai-response-content');
497
+
498
+ aiTyping.classList.remove('hidden');
499
+ aiResponseContent.classList.add('hidden');
500
+
501
+ // Simulate AI processing
502
+ setTimeout(() => {
503
+ aiTyping.classList.add('hidden');
504
+ aiResponseContent.classList.remove('hidden');
505
+
506
+ // Update with new response (in a real app, this would come from the AI)
507
+ document.getElementById('ai-suggested-response').innerHTML = `
508
+ Hi John,<br><br>
509
+ We've reviewed your request for a deadline extension. While we understand the challenges you're facing,
510
+ we can only approve a two-day extension at this time due to upcoming client deliverables.<br><br>
511
+ Please adjust your timeline accordingly and let us know if you need any support to meet this adjusted deadline.<br><br>
512
+ Best regards,<br>
513
+ [Your Name]
514
+ `;
515
+ }, 1500);
516
+ });
517
+
518
+ // Desktop icons
519
+ const desktopIcons = document.querySelectorAll('.desktop-icon');
520
+ desktopIcons.forEach(icon => {
521
+ icon.addEventListener('dblclick', () => {
522
+ if (icon.querySelector('.fa-envelope')) {
523
+ const emailWindow = document.getElementById('email-window');
524
+ emailWindow.style.display = 'block';
525
+ bringToFront(emailWindow);
526
+ } else if (icon.querySelector('.fa-robot')) {
527
+ const aiWindow = document.getElementById('ai-assistant-window');
528
+ aiWindow.style.display = 'block';
529
+ bringToFront(aiWindow);
530
+ }
531
+ });
532
+ });
533
+ </script>
534
+ <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=chainmindsx/email-checker" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
535
+ </html>