asd1asd1 commited on
Commit
418ecc4
·
verified ·
1 Parent(s): fd72e7e

es muy basica debe ser mas potente trata de igual y mejorar a grok

Browse files
Files changed (5) hide show
  1. analytics.html +160 -246
  2. components/navbar.js +63 -50
  3. index.html +228 -253
  4. script.js +214 -5
  5. style.css +108 -131
analytics.html CHANGED
@@ -3,7 +3,7 @@
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Analytics | DeepChat Explorer</title>
7
  <link rel="stylesheet" href="style.css">
8
  <script src="https://cdn.tailwindcss.com"></script>
9
  <script src="https://unpkg.com/feather-icons"></script>
@@ -15,183 +15,158 @@
15
 
16
  <div class="container mx-auto px-4 py-8">
17
  <!-- Header -->
18
- <div class="text-center mb-12">
19
- <h1 class="text-4xl font-bold bg-gradient-to-r from-purple-400 via-pink-400 to-blue-400 bg-clip-text text-transparent mb-4">
20
- Research Analytics
21
- </h1>
22
- <p class="text-xl text-gray-300 max-w-2xl mx-auto">
23
- Advanced insights and performance metrics for your AI research activities
24
- </p>
 
 
 
 
 
 
 
25
  </div>
26
 
27
- <!-- Analytics Dashboard -->
28
- <div class="max-w-7xl mx-auto space-y-8">
29
- <!-- Stats Overview -->
30
- <div class="grid grid-cols-1 md:grid-cols-4 gap-6">
31
- <div class="bg-gray-800/50 backdrop-blur-lg rounded-xl p-6 border border-gray-700">
32
- <div class="flex items-center justify-between">
33
- <div>
34
- <p class="text-gray-400 text-sm">Total Research</p>
35
- <p class="text-3xl font-bold text-white">1,247</p>
36
- </div>
37
- <div class="w-12 h-12 bg-purple-500/20 rounded-full flex items-center justify-center">
38
- <i data-feather="search" class="text-purple-400"></i>
39
- </div>
40
  </div>
41
- <div class="mt-4">
42
- <span class="text-green-400 text-sm flex items-center">
43
- <i data-feather="trending-up" class="w-4 h-4 mr-1"></i>
44
- +12% this week
45
- </span>
46
  </div>
47
  </div>
 
 
 
 
48
 
49
- <div class="bg-gray-800/50 backdrop-blur-lg rounded-xl p-6 border border-gray-700">
50
- <div class="flex items-center justify-between">
51
- <div>
52
- <p class="text-gray-400 text-sm">Sources Analyzed</p>
53
- <p class="text-3xl font-bold text-white">8,932</p>
54
- </div>
55
- <div class="w-12 h-12 bg-blue-500/20 rounded-full flex items-center justify-center">
56
- <i data-feather="database" class="text-blue-400"></i>
57
- </div>
58
  </div>
59
- <div class="mt-4">
60
- <span class="text-green-400 text-sm flex items-center">
61
- <i data-feather="trending-up" class="w-4 h-4 mr-1"></i>
62
- +23% this week
63
- </span>
64
  </div>
65
  </div>
 
 
 
 
66
 
67
- <div class="bg-gray-800/50 backdrop-blur-lg rounded-xl p-6 border border-gray-700">
68
- <div class="flex items-center justify-between">
69
- <div>
70
- <p class="text-gray-400 text-sm">AI Accuracy</p>
71
- <p class="text-3xl font-bold text-white">94.7%</p>
72
- </div>
73
- <div class="w-12 h-12 bg-green-500/20 rounded-full flex items-center justify-center">
74
- <i data-feather="check-circle" class="text-green-400"></i>
75
- </div>
76
  </div>
77
- <div class="mt-4">
78
- <span class="text-green-400 text-sm flex items-center">
79
- <i data-feather="trending-up" class="w-4 h-4 mr-1"></i>
80
- +2.3% this week
81
- </span>
82
  </div>
83
  </div>
 
 
 
 
84
 
85
- <div class="bg-gray-800/50 backdrop-blur-lg rounded-xl p-6 border border-gray-700">
86
- <div class="flex items-center justify-between">
87
- <div>
88
- <p class="text-gray-400 text-sm">Response Time</p>
89
- <p class="text-3xl font-bold text-white">1.2s</p>
90
- </div>
91
- <div class="w-12 h-12 bg-yellow-500/20 rounded-full flex items-center justify-center">
92
- <i data-feather="clock" class="text-yellow-400"></i>
93
- </div>
94
  </div>
95
- <div class="mt-4">
96
- <span class="text-green-400 text-sm flex items-center">
97
- <i data-feather="trending-down" class="w-4 h-4 mr-1"></i>
98
- -0.3s this week
99
- </span>
100
  </div>
101
  </div>
 
 
 
102
  </div>
 
103
 
104
- <!-- Charts Grid -->
105
- <div class="grid grid-cols-1 lg:grid-cols-2 gap-8">
106
- <!-- Research Activity Chart -->
107
- <div class="bg-gray-800/50 backdrop-blur-lg rounded-xl p-6 border border-gray-700">
108
- <h3 class="text-lg font-semibold text-white mb-4 flex items-center">
109
- <i data-feather="activity" class="mr-2 text-purple-400"></i>
110
- Research Activity (Last 30 Days)
111
- </h3>
112
- <canvas id="activityChart" height="300"></canvas>
113
- </div>
114
 
115
- <!-- Topic Distribution -->
116
- <div class="bg-gray-800/50 backdrop-blur-lg rounded-xl p-6 border border-gray-700">
117
- <h3 class="text-lg font-semibold text-white mb-4 flex items-center">
118
- <i data-feather="pie-chart" class="mr-2 text-blue-400"></i>
119
- Topic Distribution
120
- </h3>
121
- <canvas id="topicChart" height="300"></canvas>
122
- </div>
123
 
124
- <!-- Source Quality -->
125
- <div class="bg-gray-800/50 backdrop-blur-lg rounded-xl p-6 border border-gray-700">
126
- <h3 class="text-lg font-semibold text-white mb-4 flex items-center">
127
- <i data-feather="bar-chart" class="mr-2 text-green-400"></i>
128
- Source Quality Analysis
129
- </h3>
130
- <canvas id="qualityChart" height="300"></canvas>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
131
  </div>
132
 
133
- <!-- Performance Metrics -->
134
- <div class="bg-gray-800/50 backdrop-blur-lg rounded-xl p-6 border border-gray-700">
135
- <h3 class="text-lg font-semibold text-white mb-4 flex items-center">
136
- <i data-feather="target" class="mr-2 text-yellow-400"></i>
137
- AI Performance Metrics
138
- </h3>
139
- <canvas id="performanceChart" height="300"></canvas>
 
 
 
 
 
 
 
 
 
140
  </div>
141
- </div>
142
 
143
- <!-- Recent Research Table -->
144
- <div class="bg-gray-800/50 backdrop-blur-lg rounded-xl border border-gray-700 overflow-hidden">
145
- <div class="px-6 py-4 border-b border-gray-700">
146
- <h3 class="text-lg font-semibold text-white flex items-center">
147
- <i data-feather="list" class="mr-2 text-purple-400"></i>
148
- Recent Research Sessions
149
- </h3>
150
- </div>
151
- <div class="overflow-x-auto">
152
- <table class="w-full">
153
- <thead>
154
- <tr class="bg-gray-700/50">
155
- <th class="px-6 py-3 text-left text-xs font-medium text-gray-300 uppercase tracking-wider">Topic</th>
156
- <th class="px-6 py-3 text-left text-xs font-medium text-gray-300 uppercase tracking-wider">Sources</th>
157
- <th class="px-6 py-3 text-left text-xs font-medium text-gray-300 uppercase tracking-wider">Duration</th>
158
- <th class="px-6 py-3 text-left text-xs font-medium text-gray-300 uppercase tracking-wider">Accuracy</th>
159
- <th class="px-6 py-3 text-left text-xs font-medium text-gray-300 uppercase tracking-wider">Date</th>
160
- </tr>
161
- </thead>
162
- <tbody class="divide-y divide-gray-700">
163
- <tr class="hover:bg-gray-700/30 transition-colors">
164
- <td class="px-6 py-4 whitespace-nowrap">
165
- <div class="text-sm font-medium text-white">Quantum Computing</div>
166
- <div class="text-sm text-gray-400">Advanced algorithms</div>
167
- </td>
168
- <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-300">47 sources</td>
169
- <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-300">2.3 minutes</td>
170
- <td class="px-6 py-4 whitespace-nowrap text-sm text-green-400">96.2%</td>
171
- <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-300">2 hours ago</td>
172
- </tr>
173
- <tr class="hover:bg-gray-700/30 transition-colors">
174
- <td class="px-6 py-4 whitespace-nowrap">
175
- <div class="text-sm font-medium text-white">AI in Healthcare</div>
176
- <div class="text-sm text-gray-400">Diagnostic tools</div>
177
- </td>
178
- <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-300">32 sources</td>
179
- <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-300">1.8 minutes</td>
180
- <td class="px-6 py-4 whitespace-nowrap text-sm text-green-400">94.7%</td>
181
- <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-300">5 hours ago</td>
182
- </tr>
183
- <tr class="hover:bg-gray-700/30 transition-colors">
184
- <td class="px-6 py-4 whitespace-nowrap">
185
- <div class="text-sm font-medium text-white">Blockchain Security</div>
186
- <div class="text-sm text-gray-400">Encryption methods</div>
187
- </td>
188
- <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-300">28 sources</td>
189
- <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-300">3.1 minutes</td>
190
- <td class="px-6 py-4 whitespace-nowrap text-sm text-yellow-400">89.3%</td>
191
- <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-300">1 day ago</td>
192
- </tr>
193
- </tbody>
194
- </table>
195
  </div>
196
  </div>
197
  </div>
@@ -207,17 +182,17 @@
207
 
208
  // Initialize Charts
209
  document.addEventListener('DOMContentLoaded', function() {
210
- // Activity Chart
211
- const activityCtx = document.getElementById('activityChart').getContext('2d');
212
- new Chart(activityCtx, {
213
  type: 'line',
214
  data: {
215
- labels: ['Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5', 'Day 6', 'Day 7'],
216
  datasets: [{
217
- label: 'Research Sessions',
218
- data: [45, 52, 38, 61, 55, 68, 72],
219
- borderColor: '#8b5cf6',
220
- backgroundColor: 'rgba(139, 92, 246, 0.1)',
221
  tension: 0.4,
222
  fill: true
223
  }]
@@ -226,18 +201,27 @@
226
  responsive: true,
227
  plugins: {
228
  legend: {
229
- labels: { color: '#e5e7eb' }
 
 
230
  }
231
  },
232
  scales: {
233
  y: {
234
- beginAtZero: true,
235
- grid: { color: 'rgba(255,255,255,0.1)' },
236
- ticks: { color: '#9ca3af' }
 
 
 
237
  },
238
  x: {
239
- grid: { color: 'rgba(255,255,255,0.1)' },
240
- ticks: { color: '#9ca3af' }
 
 
 
 
241
  }
242
  }
243
  }
@@ -248,15 +232,15 @@
248
  new Chart(topicCtx, {
249
  type: 'doughnut',
250
  data: {
251
- labels: ['Technology', 'Science', 'Healthcare', 'Business', 'Other'],
252
  datasets: [{
253
  data: [35, 25, 20, 15, 5],
254
  backgroundColor: [
255
- '#8b5cf6',
256
- '#3b82f6',
257
  '#10b981',
258
  '#f59e0b',
259
- '#6b7280'
 
260
  ]
261
  }]
262
  },
@@ -264,81 +248,11 @@
264
  responsive: true,
265
  plugins: {
266
  legend: {
267
- labels: { color: '#e5e7eb' }
268
- }
269
- }
270
- }
271
- });
272
-
273
- // Quality Chart
274
- const qualityCtx = document.getElementById('qualityChart').getContext('2d');
275
- new Chart(qualityCtx, {
276
- type: 'bar',
277
- data: {
278
- labels: ['Academic', 'News', 'Research', 'Government', 'Industry'],
279
- datasets: [{
280
- label: 'Quality Score',
281
- data: [92, 85, 88, 90, 87],
282
- backgroundColor: '#10b981'
283
- }]
284
- },
285
- options: {
286
- responsive: true,
287
- plugins: {
288
- legend: {
289
- labels: { color: '#e5e7eb' }
290
- }
291
- },
292
- scales: {
293
- y: {
294
- beginAtZero: true,
295
- max: 100,
296
- grid: { color: 'rgba(255,255,255,0.1)' },
297
- ticks: { color: '#9ca3af' }
298
- },
299
- x: {
300
- grid: { color: 'rgba(255,255,255,0.1)' },
301
- ticks: { color: '#9ca3af' }
302
- }
303
- }
304
- }
305
- });
306
-
307
- // Performance Chart
308
- const performanceCtx = document.getElementById('performanceChart').getContext('2d');
309
- new Chart(performanceCtx, {
310
- type: 'radar',
311
- data: {
312
- labels: ['Accuracy', 'Speed', 'Depth', 'Relevance', 'Completeness'],
313
- datasets: [{
314
- label: 'Current Week',
315
- data: [94, 88, 92, 90, 86],
316
- fill: true,
317
- backgroundColor: 'rgba(139, 92, 246, 0.2)',
318
- borderColor: '#8b5cf6',
319
- pointBackgroundColor: '#8b5cf6'
320
- }, {
321
- label: 'Previous Week',
322
- data: [91, 85, 89, 87, 82],
323
- fill: true,
324
- backgroundColor: 'rgba(59, 130, 246, 0.2)',
325
- borderColor: '#3b82f6',
326
- pointBackgroundColor: '#3b82f6'
327
- }]
328
- },
329
- options: {
330
- responsive: true,
331
- plugins: {
332
- legend: {
333
- labels: { color: '#e5e7eb' }
334
- }
335
- },
336
- scales: {
337
- r: {
338
- angleLines: { color: 'rgba(255,255,255,0.1)' },
339
- grid: { color: 'rgba(255,255,255,0.1)' },
340
- pointLabels: { color: '#9ca3af' },
341
- ticks: { color: '#9ca3af', backdropColor: 'transparent' }
342
  }
343
  }
344
  }
 
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Analytics Dashboard | DeepChat Pro</title>
7
  <link rel="stylesheet" href="style.css">
8
  <script src="https://cdn.tailwindcss.com"></script>
9
  <script src="https://unpkg.com/feather-icons"></script>
 
15
 
16
  <div class="container mx-auto px-4 py-8">
17
  <!-- Header -->
18
+ <div class="flex items-center justify-between mb-8">
19
+ <div>
20
+ <h1 class="text-3xl font-bold text-white">Analytics Dashboard</h1>
21
+ <p class="text-gray-300">Monitor your research performance and AI interactions</p>
22
+ </div>
23
+ <div class="flex items-center space-x-4">
24
+ <div class="bg-gray-800/50 px-4 py-2 rounded-lg border border-gray-700">
25
+ <span class="text-gray-300 text-sm">Last 30 days</span>
26
+ </div>
27
+ <button class="px-4 py-2 bg-gradient-to-r from-blue-600 to-purple-600 text-white rounded-lg hover:from-blue-700 hover:to-purple-700 transition-all">
28
+ <i data-feather="download" class="w-4 h-4 mr-2 inline"></i>
29
+ Export Report
30
+ </button>
31
+ </div>
32
  </div>
33
 
34
+ <!-- Stats Grid -->
35
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-8">
36
+ <div class="bg-gray-800/30 p-6 rounded-xl border border-gray-700 backdrop-blur-lg">
37
+ <div class="flex items-center justify-between">
38
+ <div>
39
+ <p class="text-gray-400 text-sm">Total Queries</p>
40
+ <p class="text-3xl font-bold text-white">1,247</p>
 
 
 
 
 
 
41
  </div>
42
+ <div class="p-3 bg-blue-500/20 rounded-full">
43
+ <i data-feather="message-square" class="text-blue-400"></i>
 
 
 
44
  </div>
45
  </div>
46
+ <div class="mt-2">
47
+ <span class="text-green-400 text-sm">↑ 12% from last month</span>
48
+ </div>
49
+ </div>
50
 
51
+ <div class="bg-gray-800/30 p-6 rounded-xl border border-gray-700 backdrop-blur-lg">
52
+ <div class="flex items-center justify-between">
53
+ <div>
54
+ <p class="text-gray-400 text-sm">Research Hours</p>
55
+ <p class="text-3xl font-bold text-white">89.5</p>
 
 
 
 
56
  </div>
57
+ <div class="p-3 bg-green-500/20 rounded-full">
58
+ <i data-feather="clock" class="text-green-400"></i>
 
 
 
59
  </div>
60
  </div>
61
+ <div class="mt-2">
62
+ <span class="text-green-400 text-sm">↑ 8% from last month</span>
63
+ </div>
64
+ </div>
65
 
66
+ <div class="bg-gray-800/30 p-6 rounded-xl border border-gray-700 backdrop-blur-lg">
67
+ <div class="flex items-center justify-between">
68
+ <div>
69
+ <p class="text-gray-400 text-sm">Sources Analyzed</p>
70
+ <p class="text-3xl font-bold text-white">3,842</p>
 
 
 
 
71
  </div>
72
+ <div class="p-3 bg-purple-500/20 rounded-full">
73
+ <i data-feather="database" class="text-purple-400"></i>
 
 
 
74
  </div>
75
  </div>
76
+ <div class="mt-2">
77
+ <span class="text-green-400 text-sm">↑ 23% from last month</span>
78
+ </div>
79
+ </div>
80
 
81
+ <div class="bg-gray-800/30 p-6 rounded-xl border border-gray-700 backdrop-blur-lg">
82
+ <div class="flex items-center justify-between">
83
+ <div>
84
+ <p class="text-gray-400 text-sm">Accuracy Rate</p>
85
+ <p class="text-3xl font-bold text-white">94.2%</p>
 
 
 
 
86
  </div>
87
+ <div class="p-3 bg-yellow-500/20 rounded-full">
88
+ <i data-feather="target" class="text-yellow-400"></i>
 
 
 
89
  </div>
90
  </div>
91
+ <div class="mt-2">
92
+ <span class="text-green-400 text-sm">↑ 2.3% from last month</span>
93
+ </div>
94
  </div>
95
+ </div>
96
 
97
+ <!-- Charts Section -->
98
+ <div class="grid grid-cols-1 lg:grid-cols-2 gap-8 mb-8">
99
+ <!-- Query Volume Chart -->
100
+ <div class="bg-gray-800/30 p-6 rounded-xl border border-gray-700 backdrop-blur-lg">
101
+ <h3 class="text-lg font-semibold text-white mb-4">Query Volume Trends</h3>
102
+ <canvas id="queryChart" height="300"></canvas>
103
+ </div>
 
 
 
104
 
105
+ <!-- Topic Distribution -->
106
+ <div class="bg-gray-800/30 p-6 rounded-xl border border-gray-700 backdrop-blur-lg">
107
+ <h3 class="text-lg font-semibold text-white mb-4">Research Topics</h3>
108
+ <canvas id="topicChart" height="300"></canvas>
109
+ </div>
110
+ </div>
 
 
111
 
112
+ <!-- Recent Activity -->
113
+ <div class="bg-gray-800/30 rounded-xl border border-gray-700 backdrop-blur-lg overflow-hidden">
114
+ <div class="px-6 py-4 border-b border-gray-700">
115
+ <h3 class="text-lg font-semibold text-white">Recent Research Activity</h3>
116
+ </div>
117
+ <div class="divide-y divide-gray-700">
118
+ <div class="p-6 hover:bg-gray-700/20 transition-colors">
119
+ <div class="flex items-center justify-between">
120
+ <div class="flex items-center space-x-4">
121
+ <div class="p-2 bg-blue-500/20 rounded-lg">
122
+ <i data-feather="search" class="text-blue-400"></i>
123
+ </div>
124
+ <div>
125
+ <p class="text-white font-medium">AI Ethics Research</p>
126
+ <p class="text-gray-400 text-sm">Analyzed 12 sources on ethical AI development</p>
127
+ </div>
128
+ </div>
129
+ <div class="text-right">
130
+ <p class="text-white">45 min ago</p>
131
+ <p class="text-green-400 text-sm">Completed</p>
132
+ </div>
133
+ </div>
134
  </div>
135
 
136
+ <div class="p-6 hover:bg-gray-700/20 transition-colors">
137
+ <div class="flex items-center justify-between">
138
+ <div class="flex items-center space-x-4">
139
+ <div class="p-2 bg-green-500/20 rounded-lg">
140
+ <i data-feather="bar-chart-2" class="text-green-400"></i>
141
+ </div>
142
+ <div>
143
+ <p class="text-white font-medium">Market Analysis</p>
144
+ <p class="text-gray-400 text-sm">Processed Q3 financial data for tech sector</p>
145
+ </div>
146
+ </div>
147
+ <div class="text-right">
148
+ <p class="text-white">2 hours ago</p>
149
+ <p class="text-yellow-400 text-sm">In Progress</p>
150
+ </div>
151
+ </div>
152
  </div>
 
153
 
154
+ <div class="p-6 hover:bg-gray-700/20 transition-colors">
155
+ <div class="flex items-center justify-between">
156
+ <div class="flex items-center space-x-4">
157
+ <div class="p-2 bg-purple-500/20 rounded-lg">
158
+ <i data-feather="code" class="text-purple-400"></i>
159
+ </div>
160
+ <div>
161
+ <p class="text-white font-medium">Code Optimization</p>
162
+ <p class="text-gray-400 text-sm">Improved algorithm efficiency by 40%</p>
163
+ </div>
164
+ </div>
165
+ <div class="text-right">
166
+ <p class="text-white">5 hours ago</p>
167
+ <p class="text-green-400 text-sm">Completed</p>
168
+ </div>
169
+ </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
170
  </div>
171
  </div>
172
  </div>
 
182
 
183
  // Initialize Charts
184
  document.addEventListener('DOMContentLoaded', function() {
185
+ // Query Volume Chart
186
+ const queryCtx = document.getElementById('queryChart').getContext('2d');
187
+ new Chart(queryCtx, {
188
  type: 'line',
189
  data: {
190
+ labels: ['Week 1', 'Week 2', 'Week 3', 'Week 4'],
191
  datasets: [{
192
+ label: 'Queries',
193
+ data: [45, 52, 48, 67],
194
+ borderColor: '#6366f1',
195
+ backgroundColor: 'rgba(99, 102, 241, 0.1)',
196
  tension: 0.4,
197
  fill: true
198
  }]
 
201
  responsive: true,
202
  plugins: {
203
  legend: {
204
+ labels: {
205
+ color: '#e5e7eb'
206
+ }
207
  }
208
  },
209
  scales: {
210
  y: {
211
+ grid: {
212
+ color: 'rgba(255, 255, 255, 0.1)'
213
+ },
214
+ ticks: {
215
+ color: '#9ca3af'
216
+ }
217
  },
218
  x: {
219
+ grid: {
220
+ color: 'rgba(255, 255, 255, 0.1)'
221
+ },
222
+ ticks: {
223
+ color: '#9ca3af'
224
+ }
225
  }
226
  }
227
  }
 
232
  new Chart(topicCtx, {
233
  type: 'doughnut',
234
  data: {
235
+ labels: ['AI Research', 'Data Analysis', 'Code Development', 'Market Research', 'Academic Papers'],
236
  datasets: [{
237
  data: [35, 25, 20, 15, 5],
238
  backgroundColor: [
239
+ '#6366f1',
 
240
  '#10b981',
241
  '#f59e0b',
242
+ '#8b5cf6',
243
+ '#ef4444'
244
  ]
245
  }]
246
  },
 
248
  responsive: true,
249
  plugins: {
250
  legend: {
251
+ position: 'bottom',
252
+ labels: {
253
+ color: '#e5e7eb',
254
+ padding: 20
255
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
256
  }
257
  }
258
  }
components/navbar.js CHANGED
@@ -10,9 +10,8 @@ class CustomNavbar extends HTMLElement {
10
  display: flex;
11
  justify-content: space-between;
12
  align-items: center;
13
- box-shadow: 0 4px 25px rgba(0, 0, 0, 0.3);
14
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
15
- backdrop-filter: blur(10px);
16
  }
17
  .logo {
18
  color: white;
@@ -21,9 +20,10 @@ class CustomNavbar extends HTMLElement {
21
  display: flex;
22
  align-items: center;
23
  gap: 0.75rem;
24
- background: linear-gradient(45deg, #f0abfc, #a5b4fc);
25
  -webkit-background-clip: text;
26
  -webkit-text-fill-color: transparent;
 
27
  }
28
  .nav-content {
29
  display: flex;
@@ -40,54 +40,52 @@ class CustomNavbar extends HTMLElement {
40
  padding: 0;
41
  }
42
  a {
43
- color: #e0e7ff;
44
  text-decoration: none;
45
  transition: all 0.3s ease;
46
  font-weight: 500;
47
- padding: 0.75rem 1.5rem;
48
- border-radius: 0.75rem;
49
  position: relative;
50
- overflow: hidden;
 
 
51
  }
52
- a::before {
53
- content: '';
54
- position: absolute;
55
- top: 0;
56
- left: -100%;
57
- width: 100%;
58
- height: 100%;
59
- background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
60
- transition: left 0.5s;
61
  }
62
- a:hover::before {
63
- left: 100%;
 
64
  }
65
- a:hover {
66
- background: rgba(255, 255, 255, 0.1);
67
  color: white;
68
- transform: translateY(-2px);
69
- box-shadow: 0 4px 15px rgba(139, 92, 246, 0.3);
 
 
 
70
  }
71
- .status-indicator {
72
  display: flex;
73
  align-items: center;
74
- gap: 0.5rem;
75
- background: rgba(34, 197, 94, 0.2);
76
- padding: 0.5rem 1rem;
77
- border-radius: 2rem;
78
- border: 1px solid rgba(34, 197, 94, 0.3);
79
  }
80
- .status-dot {
81
- width: 8px;
82
- height: 8px;
83
- background: #22c55e;
84
- border-radius: 50%;
85
- animation: pulse 2s infinite;
 
 
86
  }
87
- @keyframes pulse {
88
- 0% { opacity: 1; }
89
- 50% { opacity: 0.5; }
90
- 100% { opacity: 1; }
91
  }
92
  @media (max-width: 768px) {
93
  nav {
@@ -101,31 +99,46 @@ class CustomNavbar extends HTMLElement {
101
  flex-wrap: wrap;
102
  justify-content: center;
103
  }
104
- a {
105
- padding: 0.5rem 1rem;
106
- font-size: 0.9rem;
107
  }
108
  }
109
  </style>
110
  <nav>
111
  <div class="nav-content">
112
  <div class="logo">
113
- <i data-feather="brain"></i>
114
- <span>DeepChat Explorer</span>
115
  </div>
116
  <ul>
117
- <li><a href="/">Home</a></li>
118
- <li><a href="/research.html">Research Hub</a></li>
119
- <li><a href="/analytics.html">Analytics</a></li>
120
- <li><a href="/settings.html">Settings</a></li>
121
  </ul>
122
- <div class="status-indicator">
123
- <div class="status-dot"></div>
124
- <span class="text-green-300 text-sm font-medium">AI Online</span>
 
 
125
  </div>
126
  </div>
127
  </nav>
128
  `;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
129
  }
130
  }
131
  customElements.define('custom-navbar', CustomNavbar);
 
10
  display: flex;
11
  justify-content: space-between;
12
  align-items: center;
13
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
14
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
 
15
  }
16
  .logo {
17
  color: white;
 
20
  display: flex;
21
  align-items: center;
22
  gap: 0.75rem;
23
+ background: linear-gradient(135deg, #60a5fa 0%, #c084fc 100%);
24
  -webkit-background-clip: text;
25
  -webkit-text-fill-color: transparent;
26
+ background-clip: text;
27
  }
28
  .nav-content {
29
  display: flex;
 
40
  padding: 0;
41
  }
42
  a {
43
+ color: #c7d2fe;
44
  text-decoration: none;
45
  transition: all 0.3s ease;
46
  font-weight: 500;
47
+ padding: 0.5rem 1rem;
48
+ border-radius: 0.5rem;
49
  position: relative;
50
+ display: flex;
51
+ align-items: center;
52
+ gap: 0.5rem;
53
  }
54
+ a:hover {
55
+ color: white;
56
+ background: rgba(99, 102, 241, 0.2);
57
+ transform: translateY(-1px);
 
 
 
 
 
58
  }
59
+ a.active {
60
+ color: white;
61
+ background: rgba(99, 102, 241, 0.3);
62
  }
63
+ .badge {
64
+ background: linear-gradient(135deg, #10b981, #3b82f6);
65
  color: white;
66
+ padding: 0.25rem 0.5rem;
67
+ border-radius: 1rem;
68
+ font-size: 0.75rem;
69
+ font-weight: 600;
70
+ margin-left: 0.5rem;
71
  }
72
+ .nav-actions {
73
  display: flex;
74
  align-items: center;
75
+ gap: 1rem;
 
 
 
 
76
  }
77
+ .upgrade-btn {
78
+ background: linear-gradient(135deg, #f59e0b, #d946ef);
79
+ color: white;
80
+ padding: 0.5rem 1rem;
81
+ border-radius: 0.5rem;
82
+ font-weight: 600;
83
+ text-decoration: none;
84
+ transition: all 0.3s ease;
85
  }
86
+ .upgrade-btn:hover {
87
+ transform: translateY(-2px);
88
+ box-shadow: 0 4px 12px rgba(217, 70, 239, 0.4);
 
89
  }
90
  @media (max-width: 768px) {
91
  nav {
 
99
  flex-wrap: wrap;
100
  justify-content: center;
101
  }
102
+ .nav-actions {
103
+ justify-content: center;
 
104
  }
105
  }
106
  </style>
107
  <nav>
108
  <div class="nav-content">
109
  <div class="logo">
110
+ <i data-feather="zap"></i>
111
+ <span>DeepChat Pro</span>
112
  </div>
113
  <ul>
114
+ <li><a href="/" class="active"><i data-feather="home"></i>Home</a></li>
115
+ <li><a href="/research.html"><i data-feather="search"></i>Research <span class="badge">AI</span></a></li>
116
+ <li><a href="/analytics.html"><i data-feather="bar-chart-2"></i>Analytics</a></li>
117
+ <li><a href="/settings.html"><i data-feather="settings"></i>Settings</a></li>
118
  </ul>
119
+ <div class="nav-actions">
120
+ <a href="#" class="upgrade-btn">
121
+ <i data-feather="star"></i>
122
+ Upgrade to Elite
123
+ </a>
124
  </div>
125
  </div>
126
  </nav>
127
  `;
128
+
129
+ // Update active link based on current page
130
+ setTimeout(() => {
131
+ const currentPath = window.location.pathname;
132
+ const links = this.shadowRoot.querySelectorAll('a');
133
+ links.forEach(link => {
134
+ if (link.getAttribute('href') === currentPath ||
135
+ (currentPath === '/' && link.getAttribute('href') === '/')) {
136
+ link.classList.add('active');
137
+ } else {
138
+ link.classList.remove('active');
139
+ }
140
+ });
141
+ }, 100);
142
  }
143
  }
144
  customElements.define('custom-navbar', CustomNavbar);
index.html CHANGED
@@ -4,7 +4,7 @@
4
  <head>
5
  <meta charset="UTF-8">
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
- <title>DeepChat Explorer - AI Research Assistant</title>
8
  <link rel="stylesheet" href="style.css">
9
  <script src="https://cdn.tailwindcss.com"></script>
10
  <script src="https://unpkg.com/feather-icons"></script>
@@ -14,157 +14,162 @@
14
  <custom-navbar></custom-navbar>
15
 
16
  <div class="container mx-auto px-4 py-8">
17
- <!-- Hero Section -->
18
- <div class="text-center mb-12">
19
- <h1 class="text-5xl font-bold bg-gradient-to-r from-purple-400 via-pink-400 to-blue-400 bg-clip-text text-transparent mb-4">
20
- DeepChat Explorer
 
 
 
 
21
  </h1>
22
- <p class="text-xl text-gray-300 max-w-2xl mx-auto">
23
- Advanced AI research assistant with real-time web search, multi-source analysis, and intelligent insights
24
  </p>
25
  </div>
26
 
27
  <!-- Main Chat Interface -->
28
- <div class="max-w-6xl mx-auto grid grid-cols-1 lg:grid-cols-4 gap-6">
29
- <!-- Sidebar - Research Tools -->
30
- <div class="lg:col-span-1 space-y-6">
31
- <!-- Quick Actions -->
32
- <div class="bg-gray-800/50 backdrop-blur-lg rounded-xl p-6 border border-gray-700">
33
- <h3 class="text-lg font-semibold text-white mb-4 flex items-center">
34
- <i data-feather="zap" class="mr-2 text-yellow-400"></i>
35
- Quick Actions
36
- </h3>
37
- <div class="space-y-3">
38
- <button class="w-full bg-gradient-to-r from-purple-600 to-blue-600 text-white px-4 py-3 rounded-lg hover:from-purple-700 hover:to-blue-700 transition-all duration-200 flex items-center justify-center">
39
- <i data-feather="search" class="mr-2"></i>
40
- Web Search
41
- </button>
42
- <button class="w-full bg-gradient-to-r from-green-600 to-teal-600 text-white px-4 py-3 rounded-lg hover:from-green-700 hover:to-teal-700 transition-all duration-200 flex items-center justify-center">
43
- <i data-feather="file-text" class="mr-2"></i>
44
- Analyze Document
45
- </button>
46
- <button class="w-full bg-gradient-to-r from-red-600 to-pink-600 text-white px-4 py-3 rounded-lg hover:from-red-700 hover:to-pink-700 transition-all duration-200 flex items-center justify-center">
47
- <i data-feather="trending-up" class="mr-2"></i>
48
- Real-time Data
49
- </button>
50
  </div>
51
  </div>
52
-
53
- <!-- Research History -->
54
- <div class="bg-gray-800/50 backdrop-blur-lg rounded-xl p-6 border border-gray-700">
55
- <h3 class="text-lg font-semibold text-white mb-4 flex items-center">
56
- <i data-feather="clock" class="mr-2 text-blue-400"></i>
57
- Recent Research
58
- </h3>
59
- <div class="space-y-3">
60
- <div class="bg-gray-700/50 p-3 rounded-lg cursor-pointer hover:bg-gray-600/50 transition-colors">
61
- <p class="text-white font-medium text-sm">Quantum Computing Breakthroughs</p>
62
- <p class="text-gray-400 text-xs">2 hours ago</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63
  </div>
64
- <div class="bg-gray-700/50 p-3 rounded-lg cursor-pointer hover:bg-gray-600/50 transition-colors">
65
- <p class="text-white font-medium text-sm">AI in Healthcare 2024</p>
66
- <p class="text-gray-400 text-xs">1 day ago</p>
 
67
  </div>
68
- <div class="bg-gray-700/50 p-3 rounded-lg cursor-pointer hover:bg-gray-600/50 transition-colors">
69
- <p class="text-white font-medium text-sm">Blockchain Security Analysis</p>
70
- <p class="text-gray-400 text-xs">3 days ago</p>
 
71
  </div>
72
  </div>
73
  </div>
74
  </div>
75
-
76
- <!-- Main Chat Area -->
77
- <div class="lg:col-span-3">
78
- <div class="bg-gray-800/30 backdrop-blur-lg rounded-xl shadow-2xl border border-gray-700 overflow-hidden">
79
- <!-- Chat Header -->
80
- <div class="bg-gradient-to-r from-purple-600 via-pink-600 to-blue-600 px-6 py-4 flex items-center justify-between">
81
- <div class="flex items-center">
82
- <i data-feather="brain" class="text-white mr-3 w-6 h-6"></i>
83
- <h2 class="text-xl font-bold text-white">AI Research Assistant</h2>
84
- </div>
85
- <div class="flex items-center space-x-2">
86
- <span class="px-3 py-1 bg-green-500/20 text-green-300 rounded-full text-sm font-medium flex items-center">
87
- <span class="w-2 h-2 bg-green-400 rounded-full mr-2 animate-pulse"></span>
88
- Online
89
- </span>
90
- </div>
91
  </div>
92
-
93
- <!-- Chat Container -->
94
- <div class="h-96 overflow-y-auto p-6 bg-gradient-to-b from-gray-900/50 to-gray-800/30" id="chat-container">
95
- <!-- Welcome Message -->
96
- <div class="text-center py-8">
97
- <div class="w-16 h-16 bg-gradient-to-r from-purple-500 to-pink-500 rounded-full flex items-center justify-center mx-auto mb-4">
98
- <i data-feather="compass" class="text-white w-8 h-8"></i>
99
- </div>
100
- <h3 class="text-2xl font-bold text-white mb-2">Welcome to DeepChat Explorer</h3>
101
- <p class="text-gray-300 max-w-md mx-auto">
102
- I can help you research any topic with real-time web search, multi-source analysis, and intelligent insights.
103
- </p>
104
- <div class="mt-6 grid grid-cols-2 gap-3 max-w-sm mx-auto">
105
- <button class="bg-gray-700/50 text-white px-4 py-2 rounded-lg text-sm hover:bg-gray-600/50 transition-colors">
106
- Recent AI News
107
- </button>
108
- <button class="bg-gray-700/50 text-white px-4 py-2 rounded-lg text-sm hover:bg-gray-600/50 transition-colors">
109
- Tech Trends
110
- </button>
111
- </div>
112
  </div>
113
  </div>
114
-
115
- <!-- Enhanced Input Area -->
116
- <div class="border-t border-gray-700 p-6 bg-gray-900/50">
117
- <form id="chat-form" class="space-y-4">
118
- <!-- Mode Selection -->
119
- <div class="flex space-x-4">
120
- <label class="flex items-center">
121
- <input type="radio" name="mode" value="standard" checked class="mr-2 text-purple-600">
122
- <span class="text-gray-300">Standard</span>
123
- </label>
124
- <label class="flex items-center">
125
- <input type="radio" name="mode" value="research" class="mr-2 text-purple-600">
126
- <span class="text-gray-300">Deep Research</span>
127
- </label>
128
- <label class="flex items-center">
129
- <input type="radio" name="mode" value="creative" class="mr-2 text-purple-600">
130
- <span class="text-gray-300">Creative</span>
131
- </label>
132
- </div>
133
-
134
- <!-- Input Group -->
135
- <div class="flex gap-3">
136
- <div class="flex-1 relative">
137
- <input
138
- type="text"
139
- id="message-input"
140
- placeholder="Ask me anything... (Try 'Research quantum computing advancements in 2024')"
141
- class="w-full px-6 py-4 bg-gray-800 border border-gray-600 rounded-xl text-white placeholder-gray-400 focus:ring-2 focus:ring-purple-500 focus:border-purple-500 text-lg"
142
- autocomplete="off"
143
- >
144
- <div class="absolute right-3 top-1/2 transform -translate-y-1/2 flex space-x-2">
145
- <button type="button" class="text-gray-400 hover:text-white">
146
- <i data-feather="mic" class="w-5 h-5"></i>
147
- </button>
148
- <button type="button" class="text-gray-400 hover:text-white">
149
- <i data-feather="paperclip" class="w-5 h-5"></i>
150
- </button>
151
- </div>
152
- </div>
153
- <button
154
- type="submit"
155
- class="px-8 py-4 bg-gradient-to-r from-purple-600 to-blue-600 text-white rounded-xl hover:from-purple-700 hover:to-blue-700 focus:outline-none focus:ring-2 focus:ring-purple-500 focus:ring-offset-2 focus:ring-offset-gray-900 transition-all duration-200 flex items-center justify-center"
156
- >
157
- <i data-feather="send" class="w-5 h-5 mr-2"></i>
158
- Send
159
- </button>
160
- </div>
161
- </form>
162
- </div>
163
  </div>
164
  </div>
165
  </div>
166
  </div>
167
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
168
  <custom-footer></custom-footer>
169
 
170
  <script src="components/navbar.js"></script>
@@ -178,7 +183,6 @@
178
  e.preventDefault();
179
  const input = document.getElementById('message-input');
180
  const message = input.value.trim();
181
- const mode = document.querySelector('input[name="mode"]:checked').value;
182
 
183
  if (message) {
184
  addMessage(message, 'user');
@@ -187,114 +191,55 @@
187
  // Show typing indicator
188
  showTypingIndicator();
189
 
190
- // Simulate AI response with enhanced capabilities
191
  setTimeout(() => {
192
  hideTypingIndicator();
193
 
194
- // Enhanced responses based on mode
195
- let response;
196
- switch(mode) {
197
- case 'research':
198
- response = generateResearchResponse(message);
199
- break;
200
- case 'creative':
201
- response = generateCreativeResponse(message);
202
- break;
203
- default:
204
- response = generateStandardResponse(message);
205
- }
 
 
 
 
 
 
 
 
 
 
 
206
 
207
- response.forEach((msg, index) => {
208
  setTimeout(() => {
209
- addMessage(msg.text, 'ai', msg.type);
210
  }, index * 800);
211
  });
212
  }, 2000);
213
  }
214
  });
215
 
216
- function generateResearchResponse(query) {
217
- return [
218
- {
219
- text: `🔍 **Researching:** "${query}"`,
220
- type: 'info'
221
- },
222
- {
223
- text: `📊 **Search Strategy:** Analyzing 15+ sources including academic papers, news articles, and real-time data`,
224
- type: 'info'
225
- },
226
- {
227
- text: `🌐 **Web Search Results:** Found 23 relevant sources from Google Scholar, arXiv, and industry reports`,
228
- type: 'info'
229
- },
230
- {
231
- text: `🤖 **AI Analysis:** Based on my analysis of current trends and data, here are the key insights about ${query}:`,
232
- type: 'message'
233
- },
234
- {
235
- text: `💡 **Key Findings:**\n• Major breakthrough in quantum computing announced last week\n• 3X improvement in qubit stability\n• Commercial applications expected within 2 years\n• Investment increased by 45% in Q1 2024`,
236
- type: 'message'
237
- },
238
- {
239
- text: `📈 **Trend Analysis:** The field is growing exponentially with significant government and private investment. Would you like me to dive deeper into any specific aspect?`,
240
- type: 'message'
241
- }
242
- ];
243
- }
244
-
245
- function generateCreativeResponse(query) {
246
- return [
247
- {
248
- text: `🎨 **Creative Mode Activated:** Let me explore "${query}" from unique perspectives`,
249
- type: 'info'
250
- },
251
- {
252
- text: `✨ **Innovative Insights:** What if we combine ${query} with emerging technologies like neural interfaces?`,
253
- type: 'message'
254
- },
255
- {
256
- text: `🚀 **Future Projection:** Based on current trajectory, ${query} could revolutionize how we approach problem-solving by 2030`,
257
- type: 'message'
258
- },
259
- {
260
- text: `💭 **Thought Experiment:** Imagine a world where ${query} is integrated with AI assistants - the possibilities are endless!`,
261
- type: 'message'
262
- }
263
- ];
264
- }
265
-
266
- function generateStandardResponse(query) {
267
- return [
268
- {
269
- text: `🤖 **Analyzing:** "${query}"`,
270
- type: 'info'
271
- },
272
- {
273
- text: `📋 **Summary:** Based on current information, ${query} represents a significant area of development with applications across multiple industries.`,
274
- type: 'message'
275
- },
276
- {
277
- text: `🔬 **Technical Overview:** The technology involves advanced algorithms and data processing techniques that enable new capabilities.`,
278
- type: 'message'
279
- },
280
- {
281
- text: `💼 **Practical Applications:** From healthcare to finance, the implications are substantial and worth exploring further.`,
282
- type: 'message'
283
- }
284
- ];
285
- }
286
-
287
  function showTypingIndicator() {
288
  const container = document.getElementById('chat-container');
289
  const typingDiv = document.createElement('div');
290
- typingDiv.className = 'mb-4 flex justify-start';
291
  typingDiv.id = 'typing-indicator';
 
292
  typingDiv.innerHTML = `
293
- <div class="bg-gray-700 rounded-lg py-3 px-4 max-w-xs">
294
- <div class="flex space-x-1">
295
- <div class="w-2 h-2 bg-gray-400 rounded-full animate-bounce"></div>
296
- <div class="w-2 h-2 bg-gray-400 rounded-full animate-bounce" style="animation-delay: 0.1s"></div>
297
- <div class="w-2 h-2 bg-gray-400 rounded-full animate-bounce" style="animation-delay: 0.2s"></div>
 
298
  </div>
299
  </div>
300
  `;
@@ -309,48 +254,78 @@
309
  }
310
  }
311
 
312
- function addMessage(text, sender, type = 'message') {
313
  const container = document.getElementById('chat-container');
314
  const messageDiv = document.createElement('div');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
315
  messageDiv.className = `mb-4 flex ${sender === 'user' ? 'justify-end' : 'justify-start'}`;
316
 
317
- let bgColor, textColor;
318
  if (sender === 'user') {
319
- bgColor = 'bg-gradient-to-r from-purple-600 to-blue-600';
320
- textColor = 'text-white';
 
 
 
321
  } else {
322
- switch(type) {
323
- case 'info':
324
- bgColor = 'bg-yellow-500/20 border border-yellow-500/30';
325
- textColor = 'text-yellow-300';
326
- break;
327
- case 'warning':
328
- bgColor = 'bg-red-500/20 border border-red-500/30';
329
- textColor = 'text-red-300';
330
- break;
331
- default:
332
- bgColor = 'bg-gray-700/50 border border-gray-600';
333
- textColor = 'text-white';
334
- }
 
 
 
 
 
 
335
  }
336
 
337
- messageDiv.innerHTML = `
338
- <div class="${bgColor} ${textColor} rounded-xl py-3 px-4 max-w-2xl backdrop-blur-sm">
339
- <div class="whitespace-pre-wrap">${text}</div>
340
- </div>
341
- `;
342
-
343
  container.appendChild(messageDiv);
344
  container.scrollTop = container.scrollHeight;
 
 
 
 
 
345
  }
346
 
347
- // Add quick action button functionality
348
- document.querySelectorAll('.bg-gradient-to-r').forEach(button => {
349
  button.addEventListener('click', function() {
350
- const action = this.querySelector('span').textContent;
351
- const input = document.getElementById('message-input');
352
- input.value = action;
353
- input.focus();
354
  });
355
  });
356
  </script>
 
4
  <head>
5
  <meta charset="UTF-8">
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>DeepChat Pro - Advanced AI Research Assistant</title>
8
  <link rel="stylesheet" href="style.css">
9
  <script src="https://cdn.tailwindcss.com"></script>
10
  <script src="https://unpkg.com/feather-icons"></script>
 
14
  <custom-navbar></custom-navbar>
15
 
16
  <div class="container mx-auto px-4 py-8">
17
+ <!-- Enhanced Header -->
18
+ <div class="text-center mb-8">
19
+ <div class="inline-flex items-center bg-gradient-to-r from-purple-600 to-blue-600 px-6 py-3 rounded-full mb-4">
20
+ <i data-feather="zap" class="text-yellow-300 mr-2"></i>
21
+ <span class="text-white font-semibold">PRO VERSION</span>
22
+ </div>
23
+ <h1 class="text-4xl md:text-6xl font-bold text-white mb-4 bg-gradient-to-r from-purple-400 to-blue-400 bg-clip-text text-transparent">
24
+ DeepChat Pro
25
  </h1>
26
+ <p class="text-gray-300 text-lg max-w-2xl mx-auto">
27
+ Advanced AI research assistant with real-time web search, multi-source analysis, and intelligent reasoning
28
  </p>
29
  </div>
30
 
31
  <!-- Main Chat Interface -->
32
+ <div class="max-w-6xl mx-auto bg-gray-800/50 backdrop-blur-lg rounded-2xl shadow-2xl border border-gray-700 overflow-hidden">
33
+ <!-- Enhanced Chat Header -->
34
+ <div class="bg-gradient-to-r from-purple-600 to-blue-600 px-6 py-4 flex items-center justify-between">
35
+ <div class="flex items-center">
36
+ <i data-feather="brain" class="text-white mr-3 text-xl"></i>
37
+ <div>
38
+ <h1 class="text-xl font-bold text-white">DeepChat Pro</h1>
39
+ <div class="flex items-center text-blue-100 text-sm">
40
+ <div class="w-2 h-2 bg-green-400 rounded-full mr-2 animate-pulse"></div>
41
+ <span>Online - Ready for complex research</span>
42
+ </div>
 
 
 
 
 
 
 
 
 
 
 
43
  </div>
44
  </div>
45
+ <div class="flex items-center space-x-3">
46
+ <button class="p-2 text-white/80 hover:text-white transition-colors" title="Web Search">
47
+ <i data-feather="search"></i>
48
+ </button>
49
+ <button class="p-2 text-white/80 hover:text-white transition-colors" title="Attach Files">
50
+ <i data-feather="paperclip"></i>
51
+ </button>
52
+ <button class="p-2 text-white/80 hover:text-white transition-colors" title="Settings">
53
+ <i data-feather="settings"></i>
54
+ </button>
55
+ </div>
56
+ </div>
57
+
58
+ <!-- Advanced Chat Container -->
59
+ <div class="h-96 overflow-y-auto p-6 bg-gradient-to-b from-gray-900/50 to-gray-800/30" id="chat-container">
60
+ <!-- Welcome Message with Capabilities -->
61
+ <div class="text-center py-8">
62
+ <div class="inline-flex items-center justify-center w-16 h-16 bg-gradient-to-r from-purple-500 to-blue-500 rounded-full mb-4">
63
+ <i data-feather="zap" class="text-white text-2xl"></i>
64
+ </div>
65
+ <h3 class="text-xl font-semibold text-white mb-2">Welcome to DeepChat Pro</h3>
66
+ <p class="text-gray-300 mb-6">I can help you with advanced research, data analysis, and complex problem-solving</p>
67
+
68
+ <!-- Capabilities Grid -->
69
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-4 max-w-2xl mx-auto">
70
+ <div class="bg-gray-700/50 p-4 rounded-lg border border-gray-600">
71
+ <i data-feather="search" class="text-blue-400 mb-2"></i>
72
+ <h4 class="text-white font-medium mb-1">Real-time Search</h4>
73
+ <p class="text-gray-400 text-sm">Access latest information from multiple sources</p>
74
  </div>
75
+ <div class="bg-gray-700/50 p-4 rounded-lg border border-gray-600">
76
+ <i data-feather="bar-chart-2" class="text-green-400 mb-2"></i>
77
+ <h4 class="text-white font-medium mb-1">Data Analysis</h4>
78
+ <p class="text-gray-400 text-sm">Process and analyze complex datasets</p>
79
  </div>
80
+ <div class="bg-gray-700/50 p-4 rounded-lg border border-gray-600">
81
+ <i data-feather="code" class="text-purple-400 mb-2"></i>
82
+ <h4 class="text-white font-medium mb-1">Code Generation</h4>
83
+ <p class="text-gray-400 text-sm">Create and debug programming solutions</p>
84
  </div>
85
  </div>
86
  </div>
87
  </div>
88
+
89
+ <!-- Advanced Input Area -->
90
+ <div class="border-t border-gray-700 p-6 bg-gray-900/30">
91
+ <div class="flex items-center mb-3">
92
+ <div class="flex space-x-2">
93
+ <button class="p-2 text-gray-400 hover:text-white transition-colors rounded-lg hover:bg-gray-700/50" title="Web Search">
94
+ <i data-feather="globe" class="w-4 h-4"></i>
95
+ </button>
96
+ <button class="p-2 text-gray-400 hover:text-white transition-colors rounded-lg hover:bg-gray-700/50" title="Upload Files">
97
+ <i data-feather="upload" class="w-4 h-4"></i>
98
+ </button>
99
+ <button class="p-2 text-gray-400 hover:text-white transition-colors rounded-lg hover:bg-gray-700/50" title="Code Mode">
100
+ <i data-feather="terminal" class="w-4 h-4"></i>
101
+ </button>
 
 
102
  </div>
103
+ </div>
104
+
105
+ <form id="chat-form" class="flex gap-3">
106
+ <div class="flex-1 relative">
107
+ <input
108
+ type="text"
109
+ id="message-input"
110
+ placeholder="Ask me anything... I can search the web, analyze data, write code, or help with research"
111
+ class="w-full px-4 py-3 bg-gray-700/50 border border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 text-white placeholder-gray-400"
112
+ autocomplete="off"
113
+ >
114
+ <div class="absolute right-3 top-3 text-gray-400">
115
+ <i data-feather="mic" class="w-4 h-4 cursor-pointer hover:text-white"></i>
 
 
 
 
 
 
 
116
  </div>
117
  </div>
118
+ <button
119
+ type="submit"
120
+ class="px-6 py-3 bg-gradient-to-r from-blue-600 to-purple-600 text-white rounded-lg hover:from-blue-700 hover:to-purple-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 focus:ring-offset-gray-900 transition-all duration-200 flex items-center"
121
+ >
122
+ <i data-feather="send" class="mr-2"></i>
123
+ Send
124
+ </button>
125
+ </form>
126
+
127
+ <!-- Quick Action Buttons -->
128
+ <div class="flex flex-wrap gap-2 mt-3">
129
+ <button class="px-3 py-1 text-xs bg-gray-700/50 text-gray-300 rounded-full hover:bg-gray-600 transition-colors">
130
+ Research latest AI trends
131
+ </button>
132
+ <button class="px-3 py-1 text-xs bg-gray-700/50 text-gray-300 rounded-full hover:bg-gray-600 transition-colors">
133
+ Analyze market data
134
+ </button>
135
+ <button class="px-3 py-1 text-xs bg-gray-700/50 text-gray-300 rounded-full hover:bg-gray-600 transition-colors">
136
+ Write Python code
137
+ </button>
138
+ <button class="px-3 py-1 text-xs bg-gray-700/50 text-gray-300 rounded-full hover:bg-gray-600 transition-colors">
139
+ Explain complex topic
140
+ </button>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
141
  </div>
142
  </div>
143
  </div>
144
  </div>
145
 
146
+ <!-- Features Section -->
147
+ <div class="max-w-6xl mx-auto mt-12 px-4">
148
+ <h2 class="text-2xl font-bold text-white text-center mb-8">Advanced Capabilities</h2>
149
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
150
+ <div class="bg-gray-800/30 p-6 rounded-xl border border-gray-700 backdrop-blur-lg">
151
+ <i data-feather="database" class="text-blue-400 text-2xl mb-4"></i>
152
+ <h3 class="text-white font-semibold mb-2">Multi-source Research</h3>
153
+ <p class="text-gray-300 text-sm">Access and cross-reference information from academic papers, news, and databases</p>
154
+ </div>
155
+ <div class="bg-gray-800/30 p-6 rounded-xl border border-gray-700 backdrop-blur-lg">
156
+ <i data-feather="trending-up" class="text-green-400 text-2xl mb-4"></i>
157
+ <h3 class="text-white font-semibold mb-2">Real-time Analysis</h3>
158
+ <p class="text-gray-300 text-sm">Process live data streams and provide up-to-the-minute insights</p>
159
+ </div>
160
+ <div class="bg-gray-800/30 p-6 rounded-xl border border-gray-700 backdrop-blur-lg">
161
+ <i data-feather="code" class="text-purple-400 text-2xl mb-4"></i>
162
+ <h3 class="text-white font-semibold mb-2">Code Intelligence</h3>
163
+ <p class="text-gray-300 text-sm">Write, debug, and optimize code across multiple programming languages</p>
164
+ </div>
165
+ <div class="bg-gray-800/30 p-6 rounded-xl border border-gray-700 backdrop-blur-lg">
166
+ <i data-feather="file-text" class="text-yellow-400 text-2xl mb-4"></i>
167
+ <h3 class="text-white font-semibold mb-2">Document Processing</h3>
168
+ <p class="text-gray-300 text-sm">Analyze and summarize documents, PDFs, and complex reports</p>
169
+ </div>
170
+ </div>
171
+ </div>
172
+
173
  <custom-footer></custom-footer>
174
 
175
  <script src="components/navbar.js"></script>
 
183
  e.preventDefault();
184
  const input = document.getElementById('message-input');
185
  const message = input.value.trim();
 
186
 
187
  if (message) {
188
  addMessage(message, 'user');
 
191
  // Show typing indicator
192
  showTypingIndicator();
193
 
194
+ // Simulate advanced AI response with multiple capabilities
195
  setTimeout(() => {
196
  hideTypingIndicator();
197
 
198
+ // Enhanced response simulation
199
+ const responses = [
200
+ {
201
+ type: 'analysis',
202
+ content: `I'm analyzing your query about "${message}" across multiple data sources...`,
203
+ icon: 'search'
204
+ },
205
+ {
206
+ type: 'insight',
207
+ content: `Based on current research trends and real-time data, here are the key findings:`,
208
+ icon: 'trending-up'
209
+ },
210
+ {
211
+ type: 'sources',
212
+ content: `I've referenced 12+ sources including academic papers, recent news articles, and industry reports.`,
213
+ icon: 'database'
214
+ },
215
+ {
216
+ type: 'recommendation',
217
+ content: `Would you like me to dive deeper into any specific aspect or provide code examples?`,
218
+ icon: 'code'
219
+ }
220
+ ];
221
 
222
+ responses.forEach((response, index) => {
223
  setTimeout(() => {
224
+ addEnhancedMessage(response.content, 'ai', response.type, response.icon);
225
  }, index * 800);
226
  });
227
  }, 2000);
228
  }
229
  });
230
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
231
  function showTypingIndicator() {
232
  const container = document.getElementById('chat-container');
233
  const typingDiv = document.createElement('div');
 
234
  typingDiv.id = 'typing-indicator';
235
+ typingDiv.className = 'flex justify-start mb-4';
236
  typingDiv.innerHTML = `
237
+ <div class="bg-gray-700 rounded-lg py-2 px-4 max-w-xs">
238
+ <div class="flex items-center space-x-1">
239
+ <div class="w-2 h-2 bg-blue-400 rounded-full animate-bounce"></div>
240
+ <div class="w-2 h-2 bg-blue-400 rounded-full animate-bounce" style="animation-delay: 0.1s"></div>
241
+ <div class="w-2 h-2 bg-blue-400 rounded-full animate-bounce" style="animation-delay: 0.2s"></div>
242
+ <span class="text-gray-300 ml-2">DeepChat Pro is thinking...</span>
243
  </div>
244
  </div>
245
  `;
 
254
  }
255
  }
256
 
257
+ function addEnhancedMessage(text, sender, messageType = 'default', icon = 'message-circle') {
258
  const container = document.getElementById('chat-container');
259
  const messageDiv = document.createElement('div');
260
+
261
+ let typeClass = 'bg-gray-700 border-l-4';
262
+ let iconColor = 'text-blue-400';
263
+
264
+ switch(messageType) {
265
+ case 'analysis':
266
+ typeClass += ' border-blue-500';
267
+ iconColor = 'text-blue-400';
268
+ break;
269
+ case 'insight':
270
+ typeClass += ' border-green-500';
271
+ iconColor = 'text-green-400';
272
+ break;
273
+ case 'sources':
274
+ typeClass += ' border-purple-500';
275
+ iconColor = 'text-purple-400';
276
+ break;
277
+ case 'recommendation':
278
+ typeClass += ' border-yellow-500';
279
+ iconColor = 'text-yellow-400';
280
+ break;
281
+ default:
282
+ typeClass += ' border-gray-500';
283
+ }
284
+
285
  messageDiv.className = `mb-4 flex ${sender === 'user' ? 'justify-end' : 'justify-start'}`;
286
 
 
287
  if (sender === 'user') {
288
+ messageDiv.innerHTML = `
289
+ <div class="bg-gradient-to-r from-blue-600 to-purple-600 rounded-lg py-3 px-4 max-w-xs md:max-w-md shadow-lg">
290
+ <p class="text-white">${text}</p>
291
+ </div>
292
+ `;
293
  } else {
294
+ messageDiv.innerHTML = `
295
+ <div class="${typeClass} rounded-lg py-3 px-4 max-w-xs md:max-w-md shadow-lg">
296
+ <div class="flex items-start mb-2">
297
+ <i data-feather="${icon}" class="${iconColor} mr-2 mt-1"></i>
298
+ <p class="text-white">${text}</p>
299
+ </div>
300
+ <div class="flex justify-between items-center mt-2 text-xs text-gray-400">
301
+ <span>${new Date().toLocaleTimeString()}</span>
302
+ <div class="flex space-x-2">
303
+ <button class="hover:text-blue-400 transition-colors" title="Copy">
304
+ <i data-feather="copy" class="w-3 h-3"></i>
305
+ </button>
306
+ <button class="hover:text-green-400 transition-colors" title="Save">
307
+ <i data-feather="bookmark" class="w-3 h-3"></i>
308
+ </button>
309
+ </div>
310
+ </div>
311
+ </div>
312
+ `;
313
  }
314
 
 
 
 
 
 
 
315
  container.appendChild(messageDiv);
316
  container.scrollTop = container.scrollHeight;
317
+ feather.replace();
318
+ }
319
+
320
+ function addMessage(text, sender) {
321
+ addEnhancedMessage(text, sender);
322
  }
323
 
324
+ // Quick action buttons functionality
325
+ document.querySelectorAll('.quick-action').forEach(button => {
326
  button.addEventListener('click', function() {
327
+ document.getElementById('message-input').value = this.textContent;
328
+ document.getElementById('chat-form').dispatchEvent(new Event('submit'));
 
 
329
  });
330
  });
331
  </script>
script.js CHANGED
@@ -1,10 +1,219 @@
1
- // Shared JavaScript across all pages
2
- console.log('DeepChat Explorer loaded');
3
 
4
- // Initialize tooltips for icons
 
 
 
5
  document.addEventListener('DOMContentLoaded', function() {
 
6
  const icons = document.querySelectorAll('[data-feather]');
7
  icons.forEach(icon => {
8
- icon.setAttribute('title', icon.getAttribute('data-feather'));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  });
10
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
 
2
+ // Enhanced JavaScript for DeepChat Pro
3
+ console.log('DeepChat Pro - Advanced AI Assistant Loaded');
4
+
5
+ // Initialize enhanced tooltips and interactions
6
  document.addEventListener('DOMContentLoaded', function() {
7
+ // Enhanced icon tooltips
8
  const icons = document.querySelectorAll('[data-feather]');
9
  icons.forEach(icon => {
10
+ const iconName = icon.getAttribute('data-feather');
11
+ icon.setAttribute('title', iconName.charAt(0).toUpperCase() + iconName.slice(1));
12
+ icon.setAttribute('aria-label', iconName);
13
+ });
14
+
15
+ // Initialize keyboard shortcuts
16
+ initializeKeyboardShortcuts();
17
+
18
+ // Initialize real-time capabilities indicator
19
+ initializeCapabilitiesIndicator();
20
+
21
+ // Initialize performance monitoring
22
+ initializePerformanceMonitor();
23
+ });
24
+
25
+ // Keyboard Shortcuts
26
+ function initializeKeyboardShortcuts() {
27
+ document.addEventListener('keydown', function(e) {
28
+ // Ctrl + / for focus on input
29
+ if (e.ctrlKey && e.key === '/') {
30
+ e.preventDefault();
31
+ const input = document.getElementById('message-input');
32
+ if (input) input.focus();
33
+ }
34
+
35
+ // Escape to clear input
36
+ if (e.key === 'Escape') {
37
+ const input = document.getElementById('message-input');
38
+ if (input) input.value = '';
39
+ }
40
+
41
+ // Enter to send (with Ctrl for new line)
42
+ if (e.key === 'Enter' && !e.ctrlKey) {
43
+ const input = document.getElementById('message-input');
44
+ if (input && input === document.activeElement && input.value.trim()) {
45
+ document.getElementById('chat-form').dispatchEvent(new Event('submit'));
46
+ }
47
+ }
48
+ });
49
+ }
50
+
51
+ // Real-time Capabilities Indicator
52
+ function initializeCapabilitiesIndicator() {
53
+ const capabilities = [
54
+ 'Analyzing real-time data...',
55
+ 'Searching academic databases...',
56
+ 'Processing natural language...',
57
+ 'Generating insights...',
58
+ 'Cross-referencing sources...'
59
+ ];
60
+
61
+ let currentCapability = 0;
62
+
63
+ setInterval(() => {
64
+ const indicator = document.querySelector('.capability-indicator');
65
+ if (indicator) {
66
+ indicator.style.opacity = '0';
67
+ setTimeout(() => {
68
+ indicator.textContent = capabilities[currentCapability];
69
+ indicator.style.opacity = '1';
70
+ currentCapability = (currentCapability + 1) % capabilities.length;
71
+ }, 300);
72
+ }
73
+ }, 3000);
74
+ }
75
+
76
+ // Performance Monitoring
77
+ function initializePerformanceMonitor() {
78
+ const startTime = performance.now();
79
+
80
+ window.addEventListener('load', () => {
81
+ const loadTime = performance.now() - startTime;
82
+ console.log(`DeepChat Pro loaded in ${loadTime.toFixed(2)}ms`);
83
+
84
+ // Send performance metrics (in a real app, this would go to analytics)
85
+ if (loadTime < 1000) {
86
+ console.log('🚀 Excellent performance!');
87
+ }
88
  });
89
+ }
90
+
91
+ // Enhanced Message Management
92
+ class MessageManager {
93
+ constructor() {
94
+ this.messages = [];
95
+ this.maxMessages = 100; // Prevent memory issues
96
+ }
97
+
98
+ addMessage(content, sender, type = 'text') {
99
+ const message = {
100
+ id: Date.now(),
101
+ content,
102
+ sender,
103
+ type,
104
+ timestamp: new Date().toISOString(),
105
+ metadata: {}
106
+ };
107
+
108
+ this.messages.push(message);
109
+
110
+ // Keep only the last maxMessages
111
+ if (this.messages.length > this.maxMessages) {
112
+ this.messages = this.messages.slice(-this.maxMessages);
113
+ }
114
+
115
+ return message;
116
+ }
117
+
118
+ getConversationHistory() {
119
+ return this.messages.slice(-10); // Last 10 messages for context
120
+ }
121
+
122
+ clearMessages() {
123
+ this.messages = [];
124
+ }
125
+ }
126
+
127
+ // Initialize message manager
128
+ const messageManager = new MessageManager();
129
+
130
+ // Enhanced API Integration (simulated for now)
131
+ class AIClient {
132
+ constructor() {
133
+ this.baseURL = 'https://api.deepchat.pro/v1';
134
+ this.isOnline = true;
135
+ }
136
+
137
+ async sendMessage(message, context = []) {
138
+ // Simulate API call with enhanced capabilities
139
+ return new Promise((resolve) => {
140
+ setTimeout(() => {
141
+ const responses = this.generateEnhancedResponse(message, context);
142
+ resolve(responses);
143
+ }, 1500 + Math.random() * 1000); // Simulate network delay
144
+ });
145
+ }
146
+
147
+ generateEnhancedResponse(message, context) {
148
+ // Enhanced response generation simulation
149
+ const responseTypes = [
150
+ {
151
+ type: 'analysis',
152
+ content: `I've analyzed "${message}" across multiple dimensions...`,
153
+ confidence: 0.92
154
+ },
155
+ {
156
+ type: 'insight',
157
+ content: `Key insight: This topic shows strong correlation with recent developments in AI research.`,
158
+ confidence: 0.88
159
+ },
160
+ {
161
+ type: 'recommendation',
162
+ content: `Based on my analysis, I recommend exploring these 3 areas for deeper understanding.`,
163
+ confidence: 0.85
164
+ }
165
+ ];
166
+
167
+ return responseTypes;
168
+ }
169
+ }
170
+
171
+ // Initialize AI Client
172
+ const aiClient = new AIClient();
173
+
174
+ // Utility Functions
175
+ const Utils = {
176
+ // Format timestamps
177
+ formatTime: (date) => {
178
+ return new Date(date).toLocaleTimeString('en-US', {
179
+ hour12: true,
180
+ hour: 'numeric',
181
+ minute: '2-digit'
182
+ });
183
+ },
184
+
185
+ // Truncate long text
186
+ truncate: (text, length = 100) => {
187
+ return text.length > length ? text.substring(0, length) + '...' : text;
188
+ },
189
+
190
+ // Copy to clipboard
191
+ copyToClipboard: async (text) => {
192
+ try {
193
+ await navigator.clipboard.writeText(text);
194
+ return true;
195
+ } catch (err) {
196
+ console.error('Failed to copy text: ', err);
197
+ return false;
198
+ }
199
+ },
200
+
201
+ // Download content
202
+ downloadContent: (content, filename) => {
203
+ const blob = new Blob([content], { type: 'text/plain' });
204
+ const url = URL.createObjectURL(blob);
205
+ const a = document.createElement('a');
206
+ a.href = url;
207
+ a.download = filename;
208
+ a.click();
209
+ URL.revokeObjectURL(url);
210
+ }
211
+ };
212
+
213
+ // Export for global access
214
+ window.DeepChatPro = {
215
+ messageManager,
216
+ aiClient,
217
+ Utils,
218
+ version: '2.0.0'
219
+ };
style.css CHANGED
@@ -1,5 +1,5 @@
1
 
2
- /* Enhanced Shared Styles */
3
  @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');
4
 
5
  body {
@@ -7,217 +7,194 @@ body {
7
  min-height: 100vh;
8
  display: flex;
9
  flex-direction: column;
10
- background: linear-gradient(135deg, #0f0f23 0%, #1a1a2e 50%, #16213e 100%);
11
  }
12
 
13
- /* Enhanced Scrollbar */
14
  #chat-container::-webkit-scrollbar {
15
- width: 12px;
16
  }
17
 
18
  #chat-container::-webkit-scrollbar-track {
19
  background: rgba(255, 255, 255, 0.05);
20
  border-radius: 10px;
21
- margin: 4px;
22
  }
23
 
24
  #chat-container::-webkit-scrollbar-thumb {
25
- background: linear-gradient(180deg, #8b5cf6, #6366f1);
26
  border-radius: 10px;
27
- border: 2px solid rgba(255, 255, 255, 0.1);
28
  }
29
 
30
  #chat-container::-webkit-scrollbar-thumb:hover {
31
- background: linear-gradient(180deg, #a78bfa, #818cf8);
32
  }
33
 
34
  /* Enhanced Animations */
35
  @keyframes fadeInUp {
36
- from {
37
- opacity: 0;
38
- transform: translateY(30px) scale(0.95);
39
  }
40
- to {
41
- opacity: 1;
42
- transform: translateY(0) scale(1);
43
  }
44
  }
45
 
46
  @keyframes slideInRight {
47
- from {
48
- opacity: 0;
49
- transform: translateX(30px);
50
  }
51
- to {
52
- opacity: 1;
53
- transform: translateX(0);
54
  }
55
  }
56
 
57
- @keyframes slideInLeft {
58
- from {
59
- opacity: 0;
60
- transform: translateX(-30px);
61
- }
62
- to {
63
- opacity: 1;
64
- transform: translateX(0);
65
- }
66
  }
67
 
68
  @keyframes glow {
69
- 0% {
70
- box-shadow: 0 0 5px rgba(139, 92, 246, 0.3);
71
- }
72
- 50% {
73
- box-shadow: 0 0 20px rgba(139, 92, 246, 0.6);
74
- }
75
- 100% {
76
- box-shadow: 0 0 5px rgba(139, 92, 246, 0.3);
77
- }
78
  }
79
 
80
- @keyframes float {
81
- 0% {
82
- transform: translateY(0px);
83
- }
84
- 50% {
85
- transform: translateY(-10px);
86
- }
87
- 100% {
88
- transform: translateY(0px);
89
- }
90
- }
91
-
92
- /* Enhanced Message Animations */
93
  #chat-container div {
94
- animation: fadeInUp 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
95
  }
96
 
97
  .user-message {
98
- animation: slideInRight 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
99
  }
100
 
101
- .ai-message {
102
- animation: slideInLeft 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 
 
103
  }
104
 
105
- /* Enhanced UI Elements */
106
- .glass-effect {
107
- background: rgba(255, 255, 255, 0.1);
108
- backdrop-filter: blur(20px);
109
- border: 1px solid rgba(255, 255, 255, 0.2);
 
110
  }
111
 
112
- .gradient-border {
113
- position: relative;
114
- background: linear-gradient(45deg, #8b5cf6, #ec4899, #3b82f6);
115
- padding: 2px;
116
- border-radius: 12px;
117
- }
118
 
119
- .gradient-border::before {
120
- content: '';
121
- position: absolute;
122
- top: 0;
123
- left: 0;
124
- right: 0;
125
- bottom: 0;
126
- border-radius: 12px;
127
- padding: 2px;
128
- background: linear-gradient(45deg, #8b5cf6, #ec4899, #3b82f6);
129
- -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
130
- mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
131
- -webkit-mask-composite: xor;
132
- mask-composite: exclude;
133
  }
134
 
135
- /* Enhanced Button Styles */
136
- .btn-glow {
137
- animation: glow 2s ease-in-out infinite;
138
- transition: all 0.3s ease;
 
139
  }
140
 
141
- .btn-glow:hover {
142
- animation: none;
143
- transform: scale(1.05);
144
- box-shadow: 0 10px 30px rgba(139, 92, 246, 0.4);
 
 
145
  }
146
 
147
- /* Floating Animation */
148
- .float-animation {
149
- animation: float 3s ease-in-out infinite;
 
150
  }
151
 
152
- /* Text Selection */
153
- ::selection {
154
- background: rgba(139, 92, 246, 0.3);
155
- color: white;
156
  }
157
 
158
- /* Focus States */
159
- input:focus, button:focus {
160
- outline: none;
161
- ring: 2px solid rgba(139, 92, 246, 0.5);
162
  }
163
 
164
- /* Loading Spinner */
165
- .spinner {
166
- border: 2px solid rgba(255, 255, 255, 0.3);
167
- border-radius: 50%;
168
- border-top: 2px solid #8b5cf6;
169
- width: 20px;
170
  height: 20px;
171
- animation: spin 1s linear infinite;
 
172
  }
173
 
174
- @keyframes spin {
175
- 0% { transform: rotate(0deg); }
176
- 100% { transform: rotate(360deg); }
 
 
 
 
 
177
  }
178
 
179
- /* Enhanced Typography */
180
- .text-gradient {
181
- background: linear-gradient(45deg, #f0abfc, #a5b4fc, #67e8f9);
182
- -webkit-background-clip: text;
183
- -webkit-text-fill-color: transparent;
184
- background-size: 200% 200%;
185
- animation: gradientShift 3s ease infinite;
186
  }
187
 
188
- @keyframes gradientShift {
189
- 0% { background-position: 0% 50%; }
190
- 50% { background-position: 100% 50%; }
191
- 100% { background-position: 0% 50%; }
192
  }
193
 
194
- /* Responsive Design Enhancements */
195
  @media (max-width: 768px) {
196
  .container {
197
  padding-left: 1rem;
198
  padding-right: 1rem;
199
  }
200
 
201
- .grid {
 
202
  gap: 1rem;
203
  }
 
 
 
 
204
  }
205
 
206
- /* Dark Mode Enhancements */
207
- .dark-mode {
208
- color-scheme: dark;
 
209
  }
210
 
211
  /* Smooth Transitions */
212
  * {
213
- transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
214
  }
215
 
216
- /* Enhanced Backdrop Effects */
217
- .backdrop-blur-lg {
218
- backdrop-filter: blur(20px);
 
219
  }
220
 
221
- .backdrop-blur-xl {
222
- backdrop-filter: blur(40px);
 
 
 
 
 
 
 
223
  }
 
1
 
2
+ /* Shared styles across all pages */
3
  @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');
4
 
5
  body {
 
7
  min-height: 100vh;
8
  display: flex;
9
  flex-direction: column;
10
+ background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 50%, #3730a3 100%);
11
  }
12
 
13
+ /* Enhanced Chat container scrollbar */
14
  #chat-container::-webkit-scrollbar {
15
+ width: 6px;
16
  }
17
 
18
  #chat-container::-webkit-scrollbar-track {
19
  background: rgba(255, 255, 255, 0.05);
20
  border-radius: 10px;
 
21
  }
22
 
23
  #chat-container::-webkit-scrollbar-thumb {
24
+ background: linear-gradient(135deg, #6366f1, #8b5cf6);
25
  border-radius: 10px;
 
26
  }
27
 
28
  #chat-container::-webkit-scrollbar-thumb:hover {
29
+ background: linear-gradient(135deg, #4f46e5, #7c3aed);
30
  }
31
 
32
  /* Enhanced Animations */
33
  @keyframes fadeInUp {
34
+ from {
35
+ opacity: 0;
36
+ transform: translateY(20px);
37
  }
38
+ to {
39
+ opacity: 1;
40
+ transform: translateY(0);
41
  }
42
  }
43
 
44
  @keyframes slideInRight {
45
+ from {
46
+ opacity: 0;
47
+ transform: translateX(20px);
48
  }
49
+ to {
50
+ opacity: 1;
51
+ transform: translateX(0);
52
  }
53
  }
54
 
55
+ @keyframes pulse {
56
+ 0%, 100% { opacity: 1; }
57
+ 50% { opacity: 0.5; }
 
 
 
 
 
 
58
  }
59
 
60
  @keyframes glow {
61
+ 0% { box-shadow: 0 0 5px rgba(99, 102, 241, 0.5); }
62
+ 50% { box-shadow: 0 0 20px rgba(99, 102, 241, 0.8); }
63
+ 100% { box-shadow: 0 0 5px rgba(99, 102, 241, 0.5); }
 
 
 
 
 
 
64
  }
65
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  #chat-container div {
67
+ animation: fadeInUp 0.4s ease-out;
68
  }
69
 
70
  .user-message {
71
+ animation: slideInRight 0.4s ease-out;
72
  }
73
 
74
+ /* Enhanced Typing Indicator */
75
+ .typing-dots {
76
+ display: flex;
77
+ gap: 4px;
78
  }
79
 
80
+ .typing-dot {
81
+ width: 8px;
82
+ height: 8px;
83
+ border-radius: 50%;
84
+ background: #6366f1;
85
+ animation: typing 1.4s infinite ease-in-out;
86
  }
87
 
88
+ .typing-dot:nth-child(1) { animation-delay: -0.32s; }
89
+ .typing-dot:nth-child(2) { animation-delay: -0.16s; }
 
 
 
 
90
 
91
+ @keyframes typing {
92
+ 0%, 80%, 100% { transform: scale(0.8); opacity: 0.5; }
93
+ 40% { transform: scale(1); opacity: 1; }
 
 
 
 
 
 
 
 
 
 
 
94
  }
95
 
96
+ /* Glass Morphism Effect */
97
+ .glass {
98
+ background: rgba(255, 255, 255, 0.1);
99
+ backdrop-filter: blur(10px);
100
+ border: 1px solid rgba(255, 255, 255, 0.2);
101
  }
102
 
103
+ /* Gradient Text */
104
+ .gradient-text {
105
+ background: linear-gradient(135deg, #60a5fa 0%, #c084fc 100%);
106
+ -webkit-background-clip: text;
107
+ -webkit-text-fill-color: transparent;
108
+ background-clip: text;
109
  }
110
 
111
+ /* Enhanced Button Styles */
112
+ .btn-gradient {
113
+ background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
114
+ transition: all 0.3s ease;
115
  }
116
 
117
+ .btn-gradient:hover {
118
+ transform: translateY(-2px);
119
+ box-shadow: 0 8px 25px rgba(99, 102, 241, 0.3);
 
120
  }
121
 
122
+ /* Loading Animation */
123
+ .loading-wave {
124
+ display: flex;
125
+ gap: 4px;
126
  }
127
 
128
+ .loading-bar {
129
+ width: 4px;
 
 
 
 
130
  height: 20px;
131
+ background: linear-gradient(135deg, #6366f1, #8b5cf6);
132
+ animation: wave 1.2s infinite ease-in-out;
133
  }
134
 
135
+ .loading-bar:nth-child(1) { animation-delay: 0s; }
136
+ .loading-bar:nth-child(2) { animation-delay: 0.1s; }
137
+ .loading-bar:nth-child(3) { animation-delay: 0.2s; }
138
+ .loading-bar:nth-child(4) { animation-delay: 0.3s; }
139
+
140
+ @keyframes wave {
141
+ 0%, 40%, 100% { transform: scaleY(0.4); }
142
+ 20% { transform: scaleY(1); }
143
  }
144
 
145
+ /* Enhanced Card Hover Effects */
146
+ .feature-card {
147
+ transition: all 0.3s ease;
148
+ border: 1px solid rgba(255, 255, 255, 0.1);
 
 
 
149
  }
150
 
151
+ .feature-card:hover {
152
+ transform: translateY(-5px);
153
+ border-color: rgba(99, 102, 241, 0.5);
154
+ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
155
  }
156
 
157
+ /* Responsive Design Improvements */
158
  @media (max-width: 768px) {
159
  .container {
160
  padding-left: 1rem;
161
  padding-right: 1rem;
162
  }
163
 
164
+ .chat-input {
165
+ flex-direction: column;
166
  gap: 1rem;
167
  }
168
+
169
+ .quick-actions {
170
+ justify-content: center;
171
+ }
172
  }
173
 
174
+ /* Enhanced Focus States */
175
+ input:focus, button:focus {
176
+ outline: none;
177
+ ring: 2px solid rgba(99, 102, 241, 0.5);
178
  }
179
 
180
  /* Smooth Transitions */
181
  * {
182
+ transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
183
  }
184
 
185
+ /* Enhanced Message Bubbles */
186
+ .message-bubble {
187
+ position: relative;
188
+ overflow: hidden;
189
  }
190
 
191
+ .message-bubble::before {
192
+ content: '';
193
+ position: absolute;
194
+ top: 0;
195
+ left: 0;
196
+ right: 0;
197
+ bottom: 0;
198
+ background: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, transparent 100%);
199
+ pointer-events: none;
200
  }