jakewicks92 commited on
Commit
1e2a0b7
·
verified ·
1 Parent(s): ff924cc

Add 2 files

Browse files
Files changed (2) hide show
  1. README.md +7 -5
  2. index.html +764 -19
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Scire Ai
3
- emoji: 🔥
4
- colorFrom: red
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: scire-ai
3
+ emoji: 🐳
4
+ colorFrom: blue
5
+ colorTo: blue
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,764 @@
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>Scire AI Assistant</title>
7
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
8
+ <style>
9
+ :root {
10
+ --primary-color: #5D3FD3;
11
+ --secondary-color: #5D3FD320;
12
+ --dark-color: #333;
13
+ --light-color: #f8f9fa;
14
+ --gray-color: #e9ecef;
15
+ --border-radius: 8px;
16
+ --box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
17
+ --transition: all 0.3s ease;
18
+ }
19
+
20
+ * {
21
+ margin: 0;
22
+ padding: 0;
23
+ box-sizing: border-box;
24
+ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
25
+ }
26
+
27
+ body {
28
+ background-color: var(--light-color);
29
+ color: var(--dark-color);
30
+ line-height: 1.6;
31
+ display: flex;
32
+ flex-direction: column;
33
+ min-height: 100vh;
34
+ }
35
+
36
+ header {
37
+ background-color: white;
38
+ padding: 15px 20px;
39
+ box-shadow: var(--box-shadow);
40
+ position: sticky;
41
+ top: 0;
42
+ z-index: 100;
43
+ display: flex;
44
+ justify-content: space-between;
45
+ align-items: center;
46
+ }
47
+
48
+ .logo {
49
+ font-weight: bold;
50
+ font-size: 22px;
51
+ color: var(--primary-color);
52
+ display: flex;
53
+ align-items: center;
54
+ gap: 10px;
55
+ }
56
+
57
+ .logo i {
58
+ font-size: 24px;
59
+ }
60
+
61
+ nav ul {
62
+ display: flex;
63
+ list-style: none;
64
+ gap: 20px;
65
+ }
66
+
67
+ nav a {
68
+ text-decoration: none;
69
+ color: var(--dark-color);
70
+ font-weight: 500;
71
+ transition: var(--transition);
72
+ }
73
+
74
+ nav a:hover {
75
+ color: var(--primary-color);
76
+ }
77
+
78
+ .user-menu {
79
+ display: flex;
80
+ align-items: center;
81
+ gap: 15px;
82
+ }
83
+
84
+ .avatar {
85
+ width: 36px;
86
+ height: 36px;
87
+ border-radius: 50%;
88
+ background-color: var(--gray-color);
89
+ display: flex;
90
+ align-items: center;
91
+ justify-content: center;
92
+ cursor: pointer;
93
+ overflow: hidden;
94
+ }
95
+
96
+ .avatar img {
97
+ width: 100%;
98
+ height: 100%;
99
+ object-fit: cover;
100
+ }
101
+
102
+ main {
103
+ flex: 1;
104
+ display: flex;
105
+ padding: 20px;
106
+ gap: 20px;
107
+ max-width: 1400px;
108
+ margin: 0 auto;
109
+ width: 100%;
110
+ height: calc(100vh - 120px);
111
+ }
112
+
113
+ .top-container {
114
+ display: flex;
115
+ width: 100%;
116
+ gap: 20px;
117
+ height: 100%;
118
+ }
119
+
120
+ .left-section {
121
+ width: 240px; /* Reduced from 280px to 240px */
122
+ background-color: white;
123
+ border-radius: var(--border-radius);
124
+ padding: 20px;
125
+ box-shadow: var(--box-shadow);
126
+ height: 100%;
127
+ overflow-y: auto;
128
+ }
129
+
130
+ .right-section {
131
+ flex: 1;
132
+ display: flex;
133
+ flex-direction: column;
134
+ gap: 20px;
135
+ height: 100%;
136
+ }
137
+
138
+ .sidebar {
139
+ display: flex;
140
+ flex-direction: column;
141
+ gap: 20px;
142
+ }
143
+
144
+ .sidebar-section {
145
+ display: flex;
146
+ flex-direction: column;
147
+ gap: 8px;
148
+ }
149
+
150
+ .sidebar-title {
151
+ font-size: 13px;
152
+ font-weight: 600;
153
+ color: #666;
154
+ text-transform: uppercase;
155
+ letter-spacing: 0.5px;
156
+ margin-bottom: 5px;
157
+ }
158
+
159
+ .sidebar-item {
160
+ padding: 10px 12px;
161
+ border-radius: var(--border-radius);
162
+ cursor: pointer;
163
+ display: flex;
164
+ align-items: center;
165
+ gap: 12px;
166
+ transition: var(--transition);
167
+ font-size: 14px;
168
+ }
169
+
170
+ .sidebar-item:hover {
171
+ background-color: var(--secondary-color);
172
+ color: var(--primary-color);
173
+ }
174
+
175
+ .sidebar-item.active {
176
+ background-color var(--secondary-color);
177
+ color: var(--primary-color);
178
+ font-weight: 500;
179
+ }
180
+
181
+ .sidebar-item i {
182
+ width: 18px;
183
+ text-align: center;
184
+ }
185
+
186
+ .content {
187
+ flex: 1;
188
+ display: flex;
189
+ flex-direction: column;
190
+ gap: 20px;
191
+ height: calc(100% - 180px);
192
+ }
193
+
194
+ .chat-container {
195
+ background-color: white;
196
+ border-radius: var(--border-radius);
197
+ box-shadow: var(--box-shadow);
198
+ display: flex;
199
+ flex-direction: column;
200
+ height: 100%;
201
+ }
202
+
203
+ .chat-header {
204
+ padding: 15px 20px;
205
+ border-bottom: 1px solid var(--gray-color);
206
+ display: flex;
207
+ align-items: center;
208
+ justify-content: space-between;
209
+ }
210
+
211
+ .chat-title {
212
+ font-weight: 600;
213
+ font-size: 18px;
214
+ }
215
+
216
+ .chat-actions {
217
+ display: flex;
218
+ gap: 12px;
219
+ }
220
+
221
+ .chat-actions button {
222
+ background: none;
223
+ border: none;
224
+ cursor: pointer;
225
+ color: #666;
226
+ transition: var(--transition);
227
+ font-size: 16px;
228
+ width: 30px;
229
+ height: 30px;
230
+ display: flex;
231
+ align-items: center;
232
+ justify-content: center;
233
+ border-radius: 50%;
234
+ }
235
+
236
+ .chat-actions button:hover {
237
+ color: var(--primary-color);
238
+ background-color: var(--secondary-color);
239
+ }
240
+
241
+ .messages {
242
+ flex: 1;
243
+ padding: 20px;
244
+ overflow-y: auto;
245
+ display: flex;
246
+ flex-direction: column;
247
+ gap: 16px;
248
+ }
249
+
250
+ .message {
251
+ max-width: 80%;
252
+ padding: 12px 16px;
253
+ border-radius: var(--border-radius);
254
+ position: relative;
255
+ line-height: 1.5;
256
+ }
257
+
258
+ .user-message {
259
+ align-self: flex-end;
260
+ background-color: var(--primary-color);
261
+ color: white;
262
+ border-bottom-right-radius: 0;
263
+ }
264
+
265
+ .ai-message {
266
+ align-self: flex-start;
267
+ background-color: var(--gray-color);
268
+ border-bottom-left-radius: 0;
269
+ }
270
+
271
+ .message-time {
272
+ font-size: 11px;
273
+ color: rgba(255, 255, 255, 0.8);
274
+ margin-top: 6px;
275
+ text-align: right;
276
+ opacity: 0.8;
277
+ }
278
+
279
+ .ai-message .message-time {
280
+ color: #666;
281
+ }
282
+
283
+ .input-area {
284
+ padding: 16px 20px;
285
+ border-top: 1px solid var(--gray-color);
286
+ display: flex;
287
+ gap: 12px;
288
+ align-items: center;
289
+ }
290
+
291
+ .message-input {
292
+ flex: 1;
293
+ padding: 12px 16px;
294
+ border: 1px solid var(--gray-color);
295
+ border-radius: var(--border-radius);
296
+ outline: none;
297
+ transition: var(--transition);
298
+ resize: none;
299
+ max-height: 120px;
300
+ font-size: 14px;
301
+ min-height: 48px;
302
+ }
303
+
304
+ .message-input:focus {
305
+ border-color: var(--primary-color);
306
+ box-shadow: 0 0 0 2px var(--secondary-color);
307
+ }
308
+
309
+ .send-button {
310
+ width: 48px;
311
+ height: 48px;
312
+ border-radius: var(--border-radius);
313
+ background-color: var(--primary-color);
314
+ color: white;
315
+ border: none;
316
+ cursor: pointer;
317
+ transition: var(--transition);
318
+ display: flex;
319
+ align-items: center;
320
+ justify-content: center;
321
+ }
322
+
323
+ .send-button:hover {
324
+ opacity: 0.9;
325
+ transform: scale(1.05);
326
+ }
327
+
328
+ .send-button:disabled {
329
+ background-color: #ccc;
330
+ cursor: not-allowed;
331
+ }
332
+
333
+ .cards-container {
334
+ display: grid;
335
+ grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
336
+ gap: 16px;
337
+ padding: 5px;
338
+ }
339
+
340
+ .card {
341
+ background-color: white;
342
+ border-radius: var(--border-radius);
343
+ padding: 18px;
344
+ box-shadow: var(--box-shadow);
345
+ cursor: pointer;
346
+ transition: var(--transition);
347
+ }
348
+
349
+ .card:hover {
350
+ transform: translateY(-3px);
351
+ box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
352
+ }
353
+
354
+ .card-title {
355
+ font-size: 15px;
356
+ font-weight: 600;
357
+ margin-bottom: 8px;
358
+ color: var(--primary-color);
359
+ }
360
+
361
+ .card-description {
362
+ font-size: 13px;
363
+ color: #666;
364
+ margin-bottom: 12px;
365
+ line-height: 1.4;
366
+ }
367
+
368
+ .card-footer {
369
+ display: flex;
370
+ justify-content: space-between;
371
+ align-items: center;
372
+ font-size: 11px;
373
+ color: #999;
374
+ }
375
+
376
+ /* Loading indicator container */
377
+ .loading-indicator {
378
+ display: none;
379
+ align-self: flex-start;
380
+ margin-bottom: 16px;
381
+ }
382
+
383
+ .typing-indicator {
384
+ display: flex;
385
+ align-items: center;
386
+ padding: 12px 16px;
387
+ background-color: var(--gray-color);
388
+ border-radius: var(--border-radius);
389
+ gap: 8px;
390
+ margin-bottom: 2px;
391
+ }
392
+
393
+ .typing-dot {
394
+ width: 8px;
395
+ height: 8px;
396
+ background-color: #666;
397
+ border-radius: 50%;
398
+ animation: typingAnimation 1.5s infinite ease-in-out;
399
+ }
400
+
401
+ .typing-dot:nth-child(1) {
402
+ animation-delay: 0s;
403
+ }
404
+
405
+ .typing-dot:nth-child(2) {
406
+ animation-delay: 0.3s;
407
+ }
408
+
409
+ .typing-dot:nth-child(3) {
410
+ animation-delay: 0.6s;
411
+ }
412
+
413
+ @keyframes typingAnimation {
414
+ 0%, 100% {
415
+ transform: translateY(0);
416
+ }
417
+ 50% {
418
+ transform: translateY(-5px);
419
+ }
420
+ }
421
+
422
+ .footer {
423
+ text-align: center;
424
+ padding: 15px;
425
+ color: #666;
426
+ font-size: 12px;
427
+ border-top: 1px solid var(--gray-color);
428
+ background-color: white;
429
+ }
430
+
431
+ /* Bell notification icon */
432
+ /* From Uiverse.io by 3bdel3ziz-T */
433
+ .bell {
434
+ border: 2.17px solid #333;
435
+ border-radius: 10px 10px 0 0;
436
+ width: 15px;
437
+ height: 17px;
438
+ background: transparent;
439
+ display: block;
440
+ position: relative;
441
+ top: -3px;
442
+ }
443
+ .bell::before, .bell::after {
444
+ content: "";
445
+ background: #333;
446
+ display: block;
447
+ position: absolute;
448
+ left: 50%;
449
+ transform: translateX(-50%);
450
+ height: 2.17px;
451
+ }
452
+ .bell::before {
453
+ top: 100%;
454
+ width: 20px;
455
+ }
456
+ .bell::after {
457
+ top: calc(100% + 4px);
458
+ width: 7px;
459
+ }
460
+ /*container main styling*/
461
+ .notification {
462
+ background: transparent;
463
+ border: none;
464
+ padding: 15px 15px;
465
+ border-radius: 50px;
466
+ cursor: pointer;
467
+ transition: 300ms;
468
+ position: relative;
469
+ display: flex;
470
+ align-items: center;
471
+ justify-content: center;
472
+ }
473
+ /*notifications number with before*/
474
+ .notification::before {
475
+ content: "1";
476
+ color: white;
477
+ font-size: 10px;
478
+ width: 12px;
479
+ height: 12px;
480
+ border-radius: 50%;
481
+ background-color: red;
482
+ position: absolute;
483
+ right: 8px;
484
+ top: 8px;
485
+ display: flex;
486
+ justify-content: center;
487
+ align-items: center;
488
+ z-index: 1000;
489
+ }
490
+ /*container background hover effect*/
491
+ .notification:hover {
492
+ background: rgba(170, 170, 170, 0.062);
493
+ }
494
+ /*container animations*/
495
+ .notification:hover > .bell {
496
+ animation: bell-animation 650ms ease-out 0s 1 normal both;
497
+ }
498
+ /*bell ring and scale animation*/
499
+ @keyframes bell-animation {
500
+ 20% {
501
+ transform: rotate(15deg);
502
+ }
503
+ 40% {
504
+ transform: rotate(-15deg);
505
+ scale: 1.1;
506
+ }
507
+ 60% {
508
+ transform: rotate(10deg);
509
+ scale: 1.1;
510
+ }
511
+ 80% {
512
+ transform: rotate(-10deg);
513
+ }
514
+ 0%, 100% {
515
+ transform: rotate(0deg);
516
+ }
517
+ }
518
+ </style>
519
+ </head>
520
+ <body>
521
+ <header>
522
+ <div class="logo">
523
+ <i class="fas fa-robot"></i>
524
+ <span>Scire AI Assistant</span>
525
+ </div>
526
+ <nav>
527
+ <ul>
528
+ <li><a href="#"><i class="fas fa-home"></i> Home</a></li>
529
+ <li><a href="#"><i class="fas fa-bolt"></i> Features</a></li>
530
+ <li><a href="#"><i class="fas fa-cog"></i> Settings</a></li>
531
+ </ul>
532
+ </nav>
533
+ <div class="user-menu">
534
+ <button class="notification" title="Notifications">
535
+ <div class="bell"></div>
536
+ </button>
537
+ <div class="avatar">
538
+ <img src="https://randomuser.me/api/portraits/women/65.jpg" alt="User avatar">
539
+ </div>
540
+ </div>
541
+ </header>
542
+
543
+ <main>
544
+ <div class="top-container">
545
+ <div class="left-section">
546
+ <div class="sidebar">
547
+ <div class="sidebar-section">
548
+ <div class="sidebar-title">Chat</div>
549
+ <div class="sidebar-item active">
550
+ <i class="fas fa-comment-dots"></i>
551
+ <span>General Discussion</span>
552
+ </div>
553
+ <div class="sidebar-item">
554
+ <i class="fas fa-code"></i>
555
+ <span>Programming Help</span>
556
+ </div>
557
+ <div class="sidebar-item">
558
+ <i class="fas fa-book"></i>
559
+ <span>Research Assistant</span>
560
+ </div>
561
+ </div>
562
+ <div class="sidebar-section">
563
+ <div class="sidebar-title">Tools</div>
564
+ <div class="sidebar-item">
565
+ <i class="fas fa-wand-magic-sparkles"></i>
566
+ <span>Content Generator</span>
567
+ </div>
568
+ <div class="sidebar-item">
569
+ <i class="fas fa-chart-line"></i>
570
+ <span>Data Analysis</span>
571
+ </div>
572
+ <div class="sidebar-item">
573
+ <i class="fas fa-image"></i>
574
+ <span>Image Creator</span>
575
+ </div>
576
+ </div>
577
+ <div class="sidebar-section">
578
+ <div class="sidebar-title">History</div>
579
+ <div class="sidebar-item">
580
+ <i class="fas fa-history"></i>
581
+ <span>Today</span>
582
+ </div>
583
+ <div class="sidebar-item">
584
+ <i class="fas fa-calendar-week"></i>
585
+ <span>Last Week</span>
586
+ </div>
587
+ <div class="sidebar-item">
588
+ <i class="fas fa-archive"></i>
589
+ <span>Archived</span>
590
+ </div>
591
+ </div>
592
+ </div>
593
+ </div>
594
+
595
+ <div class="right-section">
596
+ <div class="content">
597
+ <div class="chat-container">
598
+ <div class="chat-header">
599
+ <div class="chat-title">General Assistant</div>
600
+ <div class="chat-actions">
601
+ <button title="Clear chat"><i class="fas fa-trash"></i></button>
602
+ <button title="Export chat"><i class="fas fa-download"></i></button>
603
+ <button title="Share chat"><i class="fas fa-share-nodes"></i></button>
604
+ </div>
605
+ </div>
606
+ <div class="messages" id="messages">
607
+ <div class="message ai-message">
608
+ Hello! I'm your AI assistant. How can I help you today?
609
+ <div class="message-time">Just now</div>
610
+ </div>
611
+ <!-- Loading indicator will appear here -->
612
+ <div class="loading-indicator" id="loadingIndicator">
613
+ <div class="typing-indicator">
614
+ <div class="typing-dot"></div>
615
+ <div class="typing-dot"></div>
616
+ <div class="typing-dot"></div>
617
+ <span>AI is thinking...</span>
618
+ </div>
619
+ </div>
620
+ </div>
621
+ <div class="input-area">
622
+ <textarea class="message-input" id="messageInput" placeholder="Type your message here..." rows="1"></textarea>
623
+ <button class="send-button" id="sendButton">
624
+ <i class="fas fa-paper-plane"></i>
625
+ </button>
626
+ </div>
627
+ </div>
628
+ </div>
629
+
630
+ <div class="cards-container">
631
+ <div class="card">
632
+ <div class="card-title"><i class="fas fa-lightbulb"></i> Quick Ideas</div>
633
+ <div class="card-description">Get creative suggestions for your projects, writing, or problem-solving.</div>
634
+ <div class=" card-footer">
635
+ <span>Try now</span>
636
+ <i class="fas fa-arrow-right"></i>
637
+ </div>
638
+ </div>
639
+ <div class="card">
640
+ <div class="card-title"><i class="fas fa-terminal"></i> Code Help</div>
641
+ <div class="card-description">Debug, explain, or generate code snippets in multiple programming languages.</div>
642
+ <div class="card-footer">
643
+ <span>Try now</span>
644
+ <i class="fas fa-arrow-right"></i>
645
+ </div>
646
+ </div>
647
+ <div class="card">
648
+ <div class="card-title"><i class="fas fa-language"></i> Translation</div>
649
+ <div class="card-description">Translate text between languages with context-aware accuracy.</div>
650
+ <div class="card-footer">
651
+ <span>Try now</span>
652
+ <i class="fas fa-arrow-right"></i>
653
+ </div>
654
+ </div>
655
+ </div>
656
+ </div>
657
+ </div>
658
+ </main>
659
+
660
+ <footer class="footer">
661
+ © 2023 Scire AI Assistant | Powered by AI Technology
662
+ </footer>
663
+
664
+ <script>
665
+ document.addEventListener('DOMContentLoaded', function() {
666
+ const messagesContainer = document.getElementById('messages');
667
+ const messageInput = document.getElementById('messageInput');
668
+ const sendButton = document.getElementById('sendButton');
669
+ const loadingIndicator = document.getElementById('loadingIndicator');
670
+
671
+ // Auto-resize textarea
672
+ messageInput.addEventListener('input', function() {
673
+ this.style.height = 'auto';
674
+ this.style.height = (this.scrollHeight) + 'px';
675
+ });
676
+
677
+ // Send message function
678
+ function sendMessage() {
679
+ const text = messageInput.value.trim();
680
+ if (!text) return;
681
+
682
+ // Add user message
683
+ const userMessage = document.createElement('div');
684
+ userMessage.className = 'message user-message';
685
+ userMessage.innerHTML = `${text}<div class="message-time">${getCurrentTime()}</div>`;
686
+ messagesContainer.appendChild(userMessage);
687
+
688
+ // Clear input
689
+ messageInput.value = '';
690
+ messageInput.style.height = '48px';
691
+
692
+ // Show loading indicator
693
+ loadingIndicator.style.display = 'flex';
694
+
695
+ // Scroll to bottom
696
+ messagesContainer.scrollTop = messagesContainer.scrollHeight;
697
+
698
+ // Simulate AI response after delay
699
+ setTimeout(() => {
700
+ // Hide loading indicator
701
+ loadingIndicator.style.display = 'none';
702
+
703
+ // Add AI response
704
+ const aiResponse = generateAIResponse(text);
705
+ const aiMessage = document.createElement('div');
706
+ aiMessage.className = 'message ai-message';
707
+ aiMessage.innerHTML = `${aiResponse}<div class="message-time">${getCurrentTime()}</div>`;
708
+ messagesContainer.appendChild(aiMessage);
709
+
710
+ // Scroll to bottom
711
+ messagesContainer.scrollTop = messagesContainer.scrollHeight;
712
+ }, 1500 + Math.random() * 2000); // Random delay between 1.5-3.5 seconds
713
+ }
714
+
715
+ // Generate simple AI responses
716
+ function generateAIResponse(userMessage) {
717
+ const responses = [
718
+ "I understand. Could you tell me more about that?",
719
+ "That's an interesting point. Here's what I think about it...",
720
+ "Based on your question, I'd recommend considering the following approach.",
721
+ "Thank you for sharing that. Let me help you with some information.",
722
+ "I've analyzed your query and here's my response."
723
+ ];
724
+ return responses[Math.floor(Math.random() * responses.length)];
725
+ }
726
+
727
+ // Get current time in HH:MM format
728
+ function getCurrentTime() {
729
+ const now = new Date();
730
+ return `${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')}`;
731
+ }
732
+
733
+ // Send message on button click
734
+ sendButton.addEventListener('click', sendMessage);
735
+
736
+ // Send message on Enter key (but allow Shift+Enter for new lines)
737
+ messageInput.addEventListener('keydown', function(e) {
738
+ if (e.key === 'Enter' && !e.shiftKey) {
739
+ e.preventDefault();
740
+ sendMessage();
741
+ }
742
+ });
743
+
744
+ // Demo chat history
745
+ const demoMessages = [
746
+ { text: "What's the weather like today?", type: "user" },
747
+ { text: "I can check local weather data if you enable location services. Would you like me to do that?", type: "ai" },
748
+ { text: "No, just a general forecast is fine.", type: "user" },
749
+ { text: "Currently, most areas are experiencing mild temperatures with occasional showers. Would you like more specific details for your location?", type: "ai" }
750
+ ];
751
+
752
+ // Add demo messages to chat (for illustration)
753
+ setTimeout(() => {
754
+ demoMessages.forEach(msg => {
755
+ const message = document.createElement('div');
756
+ message.className = `message ${msg.type}-message`;
757
+ message.innerHTML = `${msg.text}<div class="message-time">Earlier</div>`;
758
+ messagesContainer.insertBefore(message, messagesContainer.firstChild.nextSibling);
759
+ });
760
+ }, 500);
761
+ });
762
+ </script>
763
+ <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 <a href="https://enzostvs-deepsite.hf.space" style="color: #fff;" target="_blank" >DeepSite</a> <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;"></p></body>
764
+ </html>