PrometheusGroup commited on
Commit
c173fd4
·
verified ·
1 Parent(s): 9462420

ai model page should scroll - Initial Deployment

Browse files
Files changed (2) hide show
  1. index.html +314 -84
  2. prompts.txt +1 -0
index.html CHANGED
@@ -6,23 +6,25 @@
6
  <title>Forge - AI Hub</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
  :root {
11
- --bg-primary: #0A0A0A;
12
- --bg-secondary: #101010;
13
- --bg-tertiary: #151515;
14
- --text-primary: #E0E0E0;
15
- --text-secondary: #A0A0A0;
16
- --text-accent: #C62828;
17
- --border-color: #1E1E1E;
18
- --success: #388E3C;
19
- --warning: #FFA000;
20
  }
21
 
22
  body {
23
  background-color: var(--bg-primary);
24
  color: var(--text-primary);
25
- font-family: 'Roboto', 'Helvetica Neue', Arial, sans-serif;
 
26
  height: 100vh;
27
  overflow: hidden;
28
  line-height: 1.5;
@@ -51,11 +53,22 @@
51
  .loading-text {
52
  margin-top: 20px;
53
  letter-spacing: 0.1em;
54
- font-weight: 300;
55
  font-size: 0.9rem;
56
  color: var(--text-secondary);
57
  }
58
 
 
 
 
 
 
 
 
 
 
 
 
59
  .tab-button {
60
  transition: all 0.3s ease;
61
  border-bottom: 2px solid transparent;
@@ -67,14 +80,14 @@
67
  }
68
 
69
  .card {
70
- background-color: var(--bg-tertiary);
71
- border: 1px solid var(--border-color);
72
  transition: all 0.2s ease-out;
73
  }
74
 
75
  .card:hover {
76
- border-color: var(--text-accent);
77
- box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
78
  }
79
 
80
  .status-connected {
@@ -110,44 +123,56 @@
110
  }
111
 
112
  .tag-purpose {
113
- background-color: rgba(185, 28, 28, 0.3);
114
- color: #F9A825;
 
115
  }
116
 
117
  .tag-finetuned {
118
- background-color: rgba(249, 168, 37, 0.2);
119
- color: #FB8C00;
 
120
  }
121
 
122
  .tag-original {
123
- background-color: rgba(241, 81, 30, 0.2);
124
- color: #F4511E;
 
125
  }
126
 
127
  .tag-parameters {
128
- background-color: rgba(229, 57, 53, 0.2);
129
- color: #E53935;
 
130
  }
131
 
132
  .tag-distilled {
133
- background-color: rgba(118, 224, 80, 0.2);
134
- color: #76E050;
 
135
  }
136
 
137
  .code-block {
138
- background-color: #1E1E1E;
139
- font-family: 'Courier New', Courier, monospace;
140
- border-radius: 4px;
141
  padding: 1rem;
142
  overflow-x: auto;
143
  }
144
 
145
- .code-keyword { color: #569CD6; }
146
- .code-function { color: #DCDCAA; }
147
- .code-string { color: #CE9178; }
148
- .code-number { color: #B5CEA8; }
149
- .code-comment { color: #6A9955; }
150
- .code-operator { color: #D4D4D4; }
 
 
 
 
 
 
 
151
 
152
  .typing-indicator {
153
  display: flex;
@@ -157,7 +182,7 @@
157
  .typing-dot {
158
  width: 8px;
159
  height: 8px;
160
- background-color: var(--primary-accent);
161
  border-radius: 50%;
162
  margin: 0 2px;
163
  animation: typingAnimation 1.4s infinite ease-in-out;
@@ -189,12 +214,12 @@
189
  }
190
 
191
  ::-webkit-scrollbar-thumb {
192
- background: var(--primary-accent);
193
  border-radius: 3px;
194
  }
195
 
196
  ::-webkit-scrollbar-thumb:hover {
197
- background: var(--secondary-accent);
198
  }
199
  </style>
200
  </head>
@@ -217,13 +242,30 @@
217
  <h1 class="text-lg font-medium tracking-wider">FORGE</h1>
218
  </div>
219
  <div class="flex items-center space-x-4">
220
- <div class="flex items-center space-x-2">
221
- <span class="text-sm">Active Model:</span>
222
- <span class="font-medium text-[#F9A825]" id="activeModelIndicator">None</span>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
223
  </div>
224
- <button class="text-sm bg-[#1E1E1E] hover:bg-[#2E2E2E] px-3 py-1 rounded" id="modelChangeBtn">
225
- Change
226
- </button>
227
  </div>
228
  </header>
229
 
@@ -260,16 +302,34 @@
260
  <!-- Gemini Card -->
261
  <div class="card rounded-lg p-4 cursor-pointer" data-service="gemini">
262
  <div class="flex items-center mb-3">
263
- <div class="w-10 h-10 rounded bg-[#1E1E1E] flex items-center justify-center mr-3">
264
- <i class="fas fa-robot text-[#FB8C00]"></i>
 
 
 
 
 
 
 
265
  </div>
266
- <h3 class="font-bold">Gemini</h3>
267
  </div>
 
 
 
 
268
  <div class="text-xs mb-2 text-[#A0A0A0]">API Endpoint:</div>
269
- <div class="text-xs mb-4 truncate" id="geminiEndpoint">Not configured</div>
270
- <div class="flex items-center">
271
- <span class="status-indicator w-3 h-3 rounded-full mr-2" id="geminiStatus"></span>
272
- <span class="text-xs" id="geminiStatusText">Not configured</span>
 
 
 
 
 
 
 
 
273
  </div>
274
  </div>
275
 
@@ -342,27 +402,81 @@
342
  <!-- Models Tab -->
343
  <div id="modelsTab" class="tab-content p-4 flex-1 overflow-y-auto hidden">
344
  <div class="flex justify-between items-center mb-6">
345
- <h2 class="text-xl font-bold text-[#F9A825]">AI Models</h2>
 
 
 
 
 
 
 
 
 
 
 
 
 
346
  <button id="filterBtn" class="bg-[#1E1E1E] hover:bg-[#2E2E2E] px-4 py-2 rounded flex items-center">
347
  <i class="fas fa-filter mr-2"></i>
348
  <span>Filters</span>
349
  </button>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
350
  </div>
351
 
352
- <div class="grid grid-cols-1 gap-4">
353
- <!-- Example Model Cards -->
354
  <div class="card rounded-lg p-4">
355
  <div class="flex justify-between items-start mb-2">
356
  <h3 class="font-bold">gemini-1.5-flash</h3>
357
- <button class="bg-[#1E1E1E] hover:bg-[#2E2E2E] px-3 py-1 rounded text-sm">
358
- Select
359
- </button>
 
 
 
360
  </div>
361
- <p class="text-sm text-[#A0A0A0] mb-3">Lightweight version of Gemini 1.5 optimized for speed with minimal quality loss.</p>
362
  <div class="flex flex-wrap mb-3">
363
  <span class="tag tag-purpose">Text & Code</span>
364
  <span class="tag tag-original">Google</span>
365
- <span class="tag tag-parameters">32K context</span>
366
  <span class="tag tag-distilled">Distilled</span>
367
  </div>
368
  <div class="flex justify-between text-xs text-[#A0A0A0]">
@@ -472,34 +586,78 @@
472
 
473
  <!-- Chat Tab -->
474
  <div id="chatTab" class="tab-content flex-1 flex flex-col overflow-hidden hidden">
475
- <!-- Chat Header -->
476
- <div class="border-b border-[#1E1E1E] p-3 flex justify-between items-center">
477
- <div class="flex items-center space-x-2">
478
- <span class="text-sm">System Prompt:</span>
479
- <span class="font-medium text-[#F9A825]" id="activePromptIndicator">General Assistant</span>
480
- </div>
481
- <button id="promptSelectBtn" class="text-sm bg-[#1E1E1E] hover:bg-[#2E2E2E] px-3 py-1 rounded">
482
- Change
 
 
483
  </button>
 
484
  </div>
485
 
486
  <!-- Chat Messages Area -->
487
- <div id="chatMessages" class="flex-1 overflow-y-auto p-4 space-y-4">
488
  <!-- Example messages -->
489
  <div class="message-user rounded p-4">
490
- <div class="flex items-center mb-2">
491
- <div class="w-6 h-6 rounded-full bg-[#F9A825] flex items-center justify-center text-xs font-bold mr-2">U</div>
492
- <span class="text-sm font-medium">User</span>
 
 
 
 
 
 
 
 
 
 
493
  </div>
494
  <p class="text-sm">Explain quantum computing in simple terms.</p>
 
 
 
495
  </div>
496
 
497
- <div class="message-ai rounded p-4">
498
- <div class="flex items-center mb-2">
499
- <div class="w-6 h-6 rounded-full bg-[#F4511E] flex items-center justify-center text-xs font-bold mr-2">AI</div>
500
- <span class="text-sm font-medium">Gemini-1.5-flash</span>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
501
  </div>
502
- <p class="text-sm">Quantum computing is an area of computing focused on developing computer technologies centered around quantum theory principles. Unlike classical computers that use bits (0s or 1s), quantum computers use quantum bits or qubits that can represent and store information in both 0 and 1 simultaneously (superposition).</p>
503
  </div>
504
  </div>
505
 
@@ -515,10 +673,22 @@
515
  </div>
516
  <div class="flex items-center justify-between mt-2">
517
  <div class="flex space-x-2">
518
- <button class="text-xs bg-[#1E1E1E] hover:bg-[#2E2E2E] px-2 py-1 rounded flex items-center">
519
- <i class="fas fa-paperclip mr-1"></i>
520
- <span>Attach</span>
521
- </button>
 
 
 
 
 
 
 
 
 
 
 
 
522
  <button class="text-xs bg-[#1E1E1E] hover:bg-[#2E2E2E] px-2 py-1 rounded">
523
  <i class="fas fa-lock"></i>
524
  </button>
@@ -788,10 +958,23 @@
788
  }
789
  });
790
 
 
 
 
 
 
 
 
 
 
 
 
791
  function sendMessage() {
792
  const message = chatInput.value.trim();
793
  if (message) {
794
- // Add user message
 
 
795
  const userMessage = document.createElement('div');
796
  userMessage.className = 'message-user rounded p-4';
797
  userMessage.innerHTML = `
@@ -819,14 +1002,14 @@
819
  aiMessage.innerHTML = `
820
  <div class="flex items-center mb-2">
821
  <div class="w-6 h-6 rounded-full bg-[#F4511E] flex items-center justify-center text-xs font-bold mr-2">AI</div>
822
- <span class="text-sm font-medium" id="activeModelIndicator">Gemini-1.5-flash</span>
823
  </div>
824
  <p class="text-sm">${getDummyResponse(message)}</p>
825
  `;
826
  chatMessages.appendChild(aiMessage);
827
 
828
- // Scroll to bottom
829
- chatMessages.scrollTop = chatMessages.scrollHeight;
830
  }, 1500);
831
  }
832
  }
@@ -862,11 +1045,58 @@
862
  });
863
  }
864
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
865
  // Initialize on load
866
  window.addEventListener('DOMContentLoaded', () => {
867
  initStatusIndicators();
868
  document.getElementById('activeModelIndicator').textContent = 'None';
869
- document.getElementById('activePromptIndicator').textContent = 'General Assistant';
870
  });
871
  </script>
872
  <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=PrometheusGroup/prometheus-forge-ai-hub" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
 
6
  <title>Forge - AI Hub</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
+ <link href="https://fonts.googleapis.com/css2?family=Turret+Road:wght@200;300;400;500;700;800&display=swap" rel="stylesheet">
10
  <style>
11
  :root {
12
+ --bg-primary: #000800;
13
+ --bg-secondary: #001000;
14
+ --bg-tertiary: #001800;
15
+ --text-primary: #004d00;
16
+ --text-secondary: #003300;
17
+ --text-accent: #006600;
18
+ --border-color: #001a00;
19
+ --success: #004000;
20
+ --warning: #669900;
21
  }
22
 
23
  body {
24
  background-color: var(--bg-primary);
25
  color: var(--text-primary);
26
+ font-family: 'Turret Road', monospace;
27
+ font-weight: 500;
28
  height: 100vh;
29
  overflow: hidden;
30
  line-height: 1.5;
 
53
  .loading-text {
54
  margin-top: 20px;
55
  letter-spacing: 0.1em;
56
+ font-weight: 500;
57
  font-size: 0.9rem;
58
  color: var(--text-secondary);
59
  }
60
 
61
+ .sidebar {
62
+ width: 0;
63
+ transition: width 0.3s ease;
64
+ }
65
+
66
+ .sidebar.expanded,
67
+ .sidebar:hover {
68
+ width: 250px;
69
+ padding: 16px;
70
+ }
71
+
72
  .tab-button {
73
  transition: all 0.3s ease;
74
  border-bottom: 2px solid transparent;
 
80
  }
81
 
82
  .card {
83
+ background-color: var(--bg-secondary);
84
+ border: 1px solid var(--text-secondary);
85
  transition: all 0.2s ease-out;
86
  }
87
 
88
  .card:hover {
89
+ border-color: var(--text-primary);
90
+ box-shadow: 0 0 8px var(--text-accent);
91
  }
92
 
93
  .status-connected {
 
123
  }
124
 
125
  .tag-purpose {
126
+ background-color: #002200;
127
+ color: #00FF00;
128
+ border: 1px solid var(--text-secondary);
129
  }
130
 
131
  .tag-finetuned {
132
+ background-color: #003300;
133
+ color: #00FF66;
134
+ border: 1px solid var(--text-secondary);
135
  }
136
 
137
  .tag-original {
138
+ background-color: #001100;
139
+ color: #009900;
140
+ border: 1px solid var(--text-secondary);
141
  }
142
 
143
  .tag-parameters {
144
+ background-color: #002200;
145
+ color: #00FF44;
146
+ border: 1px solid var(--text-secondary);
147
  }
148
 
149
  .tag-distilled {
150
+ background-color: #003300;
151
+ color: #00FF88;
152
+ border: 1px solid var(--text-secondary);
153
  }
154
 
155
  .code-block {
156
+ background-color: #000000;
157
+ font-family: 'Courier New', monospace;
158
+ border: 1px solid var(--border-color);
159
  padding: 1rem;
160
  overflow-x: auto;
161
  }
162
 
163
+ .code-keyword { color: #008800; }
164
+ .code-function { color: #006600; }
165
+ .code-string { color: #00AA00; }
166
+ .code-number { color: #00CC44; }
167
+ .code-comment { color: #003300; }
168
+ .code-operator { color: #008800; }
169
+
170
+ .filter-btn.active {
171
+ background-color: var(--bg-secondary);
172
+ border-color: var(--text-accent);
173
+ color: var(--text-accent);
174
+ font-weight: bold;
175
+ }
176
 
177
  .typing-indicator {
178
  display: flex;
 
182
  .typing-dot {
183
  width: 8px;
184
  height: 8px;
185
+ background-color: var(--text-primary);
186
  border-radius: 50%;
187
  margin: 0 2px;
188
  animation: typingAnimation 1.4s infinite ease-in-out;
 
214
  }
215
 
216
  ::-webkit-scrollbar-thumb {
217
+ background: var(--text-secondary);
218
  border-radius: 3px;
219
  }
220
 
221
  ::-webkit-scrollbar-thumb:hover {
222
+ background: var(--text-primary);
223
  }
224
  </style>
225
  </head>
 
242
  <h1 class="text-lg font-medium tracking-wider">FORGE</h1>
243
  </div>
244
  <div class="flex items-center space-x-4">
245
+ <div class="group relative">
246
+ <button class="flex items-center space-x-2">
247
+ <span class="text-sm">Active Model:</span>
248
+ <span class="font-medium text-[#F9A825] hover:text-[#FFC107]" id="activeModelIndicator">None</span>
249
+ <i class="fas fa-chevron-down text-xs"></i>
250
+ </button>
251
+ <div class="absolute left-0 mt-2 w-48 bg-[#121212] border border-[#1E1E1E] rounded shadow-lg hidden group-hover:block z-10">
252
+ <div class="px-3 py-2 text-xs text-[#A0A0A0]">Foundation Models</div>
253
+ <button class="w-full text-left px-3 py-2 text-sm hover:bg-[#1E1E1E]" data-model="gemini-1.5-flash">
254
+ <i class="fas fa-bolt mr-2 text-[#006600]"></i>gemini-1.5-flash
255
+ </button>
256
+ <button class="w-full text-left px-3 py-2 text-sm hover:bg-[#1E1E1E]" data-model="gpt-4o-mini">
257
+ <i class="fas fa-bolt mr-2 text-[#F4511E]"></i>gpt-4o-mini
258
+ </button>
259
+ <div class="px-3 py-2 text-xs text-[#A0A0A0]">Local Models</div>
260
+ <button class="w-full text-left px-3 py-2 text-sm hover:bg-[#1E1E1E]" data-model="llama3-8b">
261
+ <i class="fas fa-server mr-2 text-[#76E050]"></i>llama3-8b
262
+ </button>
263
+ </div>
264
+ </div>
265
+ <div class="flex items-center">
266
+ <span class="text-xs mr-1">v</span>
267
+ <span class="text-xs text-[#A0A0A0] hover:text-white cursor-pointer">1.2.0</span>
268
  </div>
 
 
 
269
  </div>
270
  </header>
271
 
 
302
  <!-- Gemini Card -->
303
  <div class="card rounded-lg p-4 cursor-pointer" data-service="gemini">
304
  <div class="flex items-center mb-3">
305
+ <div class="w-10 h-10 rounded-full bg-[#004d00] flex items-center justify-center mr-3">
306
+ <span class="text-white font-bold">G</span>
307
+ </div>
308
+ <div>
309
+ <h3 class="font-bold">Gemini</h3>
310
+ <div class="flex items-center">
311
+ <span class="text-xs text-[#006600] mr-2">▲ 78ms</span>
312
+ <span class="text-xs text-[#A0A0A0]">90% uptime</span>
313
+ </div>
314
  </div>
 
315
  </div>
316
+ <div class="text-xs mb-1 text-[#A0A0A0]">Model: <span class="text-[#006600]">gemini-pro</span></div>
317
+ <div class="text-xs mb-1 text-[#A0A0A0]">Max Tokens: <span class="text-[#006600]">32,768</span></div>
318
+ <div class="text-xs mb-1 text-[#A0A0A0]">Input: $0.50/1M tokens</div>
319
+ <div class="text-xs mb-1 text-[#A0A0A0]">Output: $1.50/1M tokens</div>
320
  <div class="text-xs mb-2 text-[#A0A0A0]">API Endpoint:</div>
321
+ <div class="text-xs mb-3 py-1 px-2 bg-[#001a00] rounded truncate" id="geminiEndpoint">Not configured</div>
322
+ <div class="flex justify-between items-center">
323
+ <div class="flex items-center">
324
+ <span class="status-indicator w-3 h-3 rounded-full mr-2" id="geminiStatus"></span>
325
+ <span class="text-xs" id="geminiStatusText">Not configured</span>
326
+ </div>
327
+ <div class="flex space-x-1">
328
+ <button class="text-xs bg-[#001a00] px-2 py-0.5 rounded" title="Pricing info">
329
+ <i class="fas fa-dollar-sign"></i>
330
+ </button>
331
+ <span class="text-xs bg-[#001a00] px-2 py-0.5 rounded">API</span>
332
+ </div>
333
  </div>
334
  </div>
335
 
 
402
  <!-- Models Tab -->
403
  <div id="modelsTab" class="tab-content p-4 flex-1 overflow-y-auto hidden">
404
  <div class="flex justify-between items-center mb-6">
405
+ <div class="flex items-center space-x-4">
406
+ <h2 class="text-xl font-bold text-[#F9A825]">AI Models</h2>
407
+ <div class="flex space-x-2">
408
+ <button class="filter-btn active px-3 py-1 rounded bg-[#002200] text-[#00FF00] border border-[#003300] text-sm" data-filter="all">
409
+ All
410
+ </button>
411
+ <button class="filter-btn px-3 py-1 rounded bg-[#0E0E0E] hover:bg-[#1E1E1E] border border-[#1E1E1E] text-sm" data-filter="local">
412
+ Local
413
+ </button>
414
+ <button class="filter-btn px-3 py-1 rounded bg-[#0E0E0E] hover:bg-[#1E1E1E] border border-[#1E1E1E] text-sm" data-filter="api">
415
+ API
416
+ </button>
417
+ </div>
418
+ </div>
419
  <button id="filterBtn" class="bg-[#1E1E1E] hover:bg-[#2E2E2E] px-4 py-2 rounded flex items-center">
420
  <i class="fas fa-filter mr-2"></i>
421
  <span>Filters</span>
422
  </button>
423
+ <!-- Add after the filter button -->
424
+ <div id="filtersModal" class="modal fixed inset-0 z-50 items-center justify-center hidden">
425
+ <div class="bg-[#121212] border border-[#1E1E1E] rounded-lg w-full max-w-md p-6 mx-4">
426
+ <div class="flex justify-between items-center mb-4">
427
+ <h3 class="text-lg font-bold">Filter Models</h3>
428
+ <button id="closeFiltersModal" class="text-xl">&times;</button>
429
+ </div>
430
+ <div class="space-y-4">
431
+ <div>
432
+ <label class="block text-sm mb-2">Model Type</label>
433
+ <div class="flex flex-wrap gap-2">
434
+ <button class="filter-tag active" data-filter="all">All</button>
435
+ <button class="filter-tag" data-filter="api">API</button>
436
+ <button class="filter-tag" data-filter="local">Local</button>
437
+ </div>
438
+ </div>
439
+ <div>
440
+ <label class="block text-sm mb-2">Purpose</label>
441
+ <div class="flex flex-wrap gap-2">
442
+ <button class="filter-tag" data-filter="text">Text</button>
443
+ <button class="filter-tag" data-filter="code">Code</button>
444
+ <button class="filter-tag" data-filter="multimodal">Multimodal</button>
445
+ </div>
446
+ </div>
447
+ <div>
448
+ <label class="block text-sm mb-2">Size</label>
449
+ <input type="range" min="0" max="100" value="50" class="w-full parameter-slider">
450
+ </div>
451
+ </div>
452
+ <div class="mt-6 flex justify-end space-x-3">
453
+ <button id="resetFiltersBtn" class="px-4 py-2 rounded bg-[#1E1E1E] hover:bg-[#2E2E2E] text-sm">
454
+ Reset
455
+ </button>
456
+ <button id="applyFiltersBtn" class="px-4 py-2 rounded bg-[#D32F2F] hover:bg-[#E53935] text-sm">
457
+ Apply
458
+ </button>
459
+ </div>
460
+ </div>
461
+ </div>
462
  </div>
463
 
464
+ <div class="grid grid-cols-1 gap-4 model-container">
 
465
  <div class="card rounded-lg p-4">
466
  <div class="flex justify-between items-start mb-2">
467
  <h3 class="font-bold">gemini-1.5-flash</h3>
468
+ <div class="flex items-center">
469
+ <span class="status-indicator w-2 h-2 rounded-full mr-2 bg-green-500"></span>
470
+ <button class="bg-[#1E1E1E] hover:bg-[#2E2E2E] px-3 py-1 rounded text-sm">
471
+ Select
472
+ </button>
473
+ </div>
474
  </div>
475
+ <p class="text-sm text-[#A0A0A0] mb-3">Ultra-fast Gemini 2.5 optimized for speed and quality with 128K token context.</p>
476
  <div class="flex flex-wrap mb-3">
477
  <span class="tag tag-purpose">Text & Code</span>
478
  <span class="tag tag-original">Google</span>
479
+ <span class="tag tag-parameters">128K context</span>
480
  <span class="tag tag-distilled">Distilled</span>
481
  </div>
482
  <div class="flex justify-between text-xs text-[#A0A0A0]">
 
586
 
587
  <!-- Chat Tab -->
588
  <div id="chatTab" class="tab-content flex-1 flex flex-col overflow-hidden hidden">
589
+ <!-- Prompt Tabs -->
590
+ <div class="flex border-b border-[#1E1E1E]">
591
+ <button class="prompt-tab active px-4 py-2 text-sm border-b-2 border-[#007700]" data-prompt="general">
592
+ General
593
+ </button>
594
+ <button class="prompt-tab px-4 py-2 text-sm" data-prompt="code">
595
+ Code
596
+ </button>
597
+ <button class="prompt-tab px-4 py-2 text-sm" data-prompt="writer">
598
+ Writer
599
  </button>
600
+ <div class="flex-1 border-b border-[#1E1E1E]"></div>
601
  </div>
602
 
603
  <!-- Chat Messages Area -->
604
+ <div id="chatMessages" class="flex-1 overflow-y-auto p-4 space-y-4" style="max-height: calc(100vh - 200px);">
605
  <!-- Example messages -->
606
  <div class="message-user rounded p-4">
607
+ <div class="flex items-center justify-between mb-2">
608
+ <div class="flex items-center">
609
+ <div class="w-6 h-6 rounded-full bg-[#F9A825] flex items-center justify-center text-xs font-bold mr-2">U</div>
610
+ <span class="text-sm font-medium">User</span>
611
+ </div>
612
+ <div class="flex space-x-1">
613
+ <button class="text-xs p-1 opacity-0 group-hover:opacity-100" title="Copy">
614
+ <i class="fas fa-copy"></i>
615
+ </button>
616
+ <button class="text-xs p-1 opacity-0 group-hover:opacity-100" title="Edit">
617
+ <i class="fas fa-edit"></i>
618
+ </button>
619
+ </div>
620
  </div>
621
  <p class="text-sm">Explain quantum computing in simple terms.</p>
622
+ <div class="mt-2 pt-2 border-t border-[#1E1E1E]">
623
+ <span class="text-xs text-[#A0A0A0]">Today at 2:15 PM</span>
624
+ </div>
625
  </div>
626
 
627
+ <div class="message-ai rounded p-4 group">
628
+ <div class="flex items-center justify-between mb-2">
629
+ <div class="flex items-center">
630
+ <div class="w-6 h-6 rounded-full bg-[#F4511E] flex items-center justify-center text-xs font-bold mr-2">AI</div>
631
+ <span class="text-sm font-medium" id="assistantName">Gemini-1.5-flash</span>
632
+ </div>
633
+ <div class="flex items-center space-x-1">
634
+ <button class="text-xs bg-[#1E1E1E] px-2 py-0.5 rounded" title="Tokens: 87">
635
+ <span class="text-xs">87 t</span>
636
+ </button>
637
+ <button class="text-xs p-1 opacity-0 group-hover:opacity-100" title="Copy">
638
+ <i class="fas fa-copy"></i>
639
+ </button>
640
+ <button class="text-xs p-1 opacity-0 group-hover:opacity-100" title="Regenerate">
641
+ <i class="fas fa-sync-alt"></i>
642
+ </button>
643
+ </div>
644
+ </div>
645
+ <div class="text-sm">
646
+ <p>Quantum computing is an area of computing focused on developing computer technologies centered around quantum theory principles. Unlike classical computers that use bits (0s or 1s), quantum computers use quantum bits or qubits that can represent and store information in both 0 and 1 simultaneously (superposition).</p>
647
+ <div class="mt-3 flex items-center space-x-2">
648
+ <button class="text-xs bg-[#001a00] hover:bg-[#002200] px-2 py-1 rounded flex items-center">
649
+ <i class="fas fa-thumbs-up mr-1"></i>
650
+ <span>Good</span>
651
+ </button>
652
+ <button class="text-xs bg-[#001a00] hover:bg-[#002200] px-2 py-1 rounded flex items-center">
653
+ <i class="fas fa-thumbs-down mr-1"></i>
654
+ <span>Bad</span>
655
+ </button>
656
+ </div>
657
+ </div>
658
+ <div class="mt-2 pt-2 border-t border-[#1E1E1E]">
659
+ <span class="text-xs text-[#A0A0A0]">Today at 2:15 PM • 0.78s</span>
660
  </div>
 
661
  </div>
662
  </div>
663
 
 
673
  </div>
674
  <div class="flex items-center justify-between mt-2">
675
  <div class="flex space-x-2">
676
+ <label class="cursor-pointer">
677
+ <button class="text-xs bg-[#1E1E1E] hover:bg-[#2E2E2E] px-2 py-1 rounded flex items-center">
678
+ <i class="fas fa-paperclip mr-1"></i>
679
+ <span>Attach</span>
680
+ </button>
681
+ <input type="file" id="fileUpload" class="hidden" multiple>
682
+ </label>
683
+ <div id="filePreview" class="hidden fixed bottom-32 right-4 bg-[#1E1E1E] rounded-lg p-3 max-w-xs">
684
+ <div class="flex justify-between items-center mb-2">
685
+ <h4 class="text-sm font-medium">Attachments</h4>
686
+ <button id="clearFilesBtn" class="text-xs bg-[#2E2E2E] hover:bg-[#3E3E3E] px-1 rounded">
687
+ Clear All
688
+ </button>
689
+ </div>
690
+ <div id="fileList" class="text-xs space-y-1"></div>
691
+ </div>
692
  <button class="text-xs bg-[#1E1E1E] hover:bg-[#2E2E2E] px-2 py-1 rounded">
693
  <i class="fas fa-lock"></i>
694
  </button>
 
958
  }
959
  });
960
 
961
+ // Auto-scroll chat to bottom
962
+ function scrollToBottom() {
963
+ const container = document.getElementById('chatMessages');
964
+ container.scrollTop = container.scrollHeight;
965
+ }
966
+
967
+ // Ensure chat stays scrolled to bottom when resizing
968
+ window.addEventListener('resize', () => {
969
+ setTimeout(scrollToBottom, 100); // Small delay to account for layout
970
+ });
971
+
972
  function sendMessage() {
973
  const message = chatInput.value.trim();
974
  if (message) {
975
+ // Add user message and scroll
976
+ setTimeout(scrollToBottom, 10); // Small delay to ensure DOM update
977
+
978
  const userMessage = document.createElement('div');
979
  userMessage.className = 'message-user rounded p-4';
980
  userMessage.innerHTML = `
 
1002
  aiMessage.innerHTML = `
1003
  <div class="flex items-center mb-2">
1004
  <div class="w-6 h-6 rounded-full bg-[#F4511E] flex items-center justify-center text-xs font-bold mr-2">AI</div>
1005
+ <span class="text-sm font-medium" id="activeModelIndicator">${document.getElementById('assistantName').textContent}</span>
1006
  </div>
1007
  <p class="text-sm">${getDummyResponse(message)}</p>
1008
  `;
1009
  chatMessages.appendChild(aiMessage);
1010
 
1011
+ // Scroll to bottom after response
1012
+ setTimeout(scrollToBottom, 10);
1013
  }, 1500);
1014
  }
1015
  }
 
1045
  });
1046
  }
1047
 
1048
+ // Toggle sidebar on mobile
1049
+ document.getElementById('sidebarToggle').addEventListener('click', () => {
1050
+ document.querySelector('.sidebar').classList.toggle('expanded');
1051
+ });
1052
+
1053
+ // Prompt tab switching
1054
+ const promptTabs = document.querySelectorAll('.prompt-tab');
1055
+ const assistantNames = {
1056
+ general: 'General Assistant',
1057
+ code: 'Code Expert',
1058
+ writer: 'Creative Writer'
1059
+ };
1060
+
1061
+ promptTabs.forEach(tab => {
1062
+ tab.addEventListener('click', () => {
1063
+ promptTabs.forEach(t => t.classList.remove('active', 'border-[#007700]'));
1064
+ tab.classList.add('active', 'border-[#007700]');
1065
+ document.getElementById('assistantName').textContent = assistantNames[tab.dataset.prompt];
1066
+ });
1067
+ });
1068
+
1069
+ // Model filtering
1070
+ document.querySelectorAll('.filter-btn').forEach(btn => {
1071
+ btn.addEventListener('click', () => {
1072
+ document.querySelectorAll('.filter-btn').forEach(b => b.classList.remove('active'));
1073
+ btn.classList.add('active');
1074
+
1075
+ const filter = btn.dataset.filter;
1076
+ const models = document.querySelectorAll('.model-container > .card');
1077
+
1078
+ models.forEach(model => {
1079
+ const isLocal = model.querySelector('div.flex.justify-between.text-xs.text-[#A0A0A0] > span:first-child').textContent.includes('Local');
1080
+ const isAPI = model.querySelector('div.flex.justify-between.text-xs.text-[#A0A0A0] > span:first-child').textContent.includes('API');
1081
+
1082
+ if (filter === 'all') {
1083
+ model.style.display = '';
1084
+ } else if (filter === 'local' && isLocal) {
1085
+ model.style.display = '';
1086
+ } else if (filter === 'api' && isAPI) {
1087
+ model.style.display = '';
1088
+ } else {
1089
+ model.style.display = 'none';
1090
+ }
1091
+ });
1092
+ });
1093
+ });
1094
+
1095
  // Initialize on load
1096
  window.addEventListener('DOMContentLoaded', () => {
1097
  initStatusIndicators();
1098
  document.getElementById('activeModelIndicator').textContent = 'None';
1099
+ document.getElementById('assistantName').textContent = 'General Assistant';
1100
  });
1101
  </script>
1102
  <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=PrometheusGroup/prometheus-forge-ai-hub" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
prompts.txt CHANGED
@@ -0,0 +1 @@
 
 
1
+ ai model page should scroll