claude-team-dashboard 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of claude-team-dashboard might be problematic. Click here for more details.
- package/CHANGELOG.md +76 -0
- package/LICENSE +21 -0
- package/README.md +722 -0
- package/cleanup.js +73 -0
- package/config.js +50 -0
- package/dist/assets/icons-Ijf8rQIc.js +1 -0
- package/dist/assets/index-Cqc1m1x_.css +1 -0
- package/dist/assets/index-jGy3ms0W.js +9 -0
- package/dist/assets/react-vendor-DbmSkCAF.js +1 -0
- package/dist/index.html +16 -0
- package/index.html +13 -0
- package/package.json +93 -0
- package/server.js +953 -0
- package/src/App.jsx +372 -0
- package/src/animations-enhanced.css +929 -0
- package/src/animations.css +783 -0
- package/src/components/ActivityFeed.jsx +289 -0
- package/src/components/AgentActivity.jsx +104 -0
- package/src/components/AgentCard.jsx +163 -0
- package/src/components/AgentOutputViewer.jsx +334 -0
- package/src/components/ArchiveViewer.jsx +283 -0
- package/src/components/ConnectionStatus.jsx +124 -0
- package/src/components/DetailedTaskProgress.jsx +126 -0
- package/src/components/ErrorBoundary.jsx +132 -0
- package/src/components/Header.jsx +154 -0
- package/src/components/LiveAgentStream.jsx +176 -0
- package/src/components/LiveCommunication.jsx +326 -0
- package/src/components/LiveMetrics.jsx +100 -0
- package/src/components/RealTimeMessages.jsx +298 -0
- package/src/components/SkeletonLoader.jsx +384 -0
- package/src/components/StatsOverview.jsx +209 -0
- package/src/components/SystemStatus.jsx +57 -0
- package/src/components/TaskList.jsx +306 -0
- package/src/components/TeamCard.jsx +126 -0
- package/src/components/TeamHistory.jsx +204 -0
- package/src/components/__tests__/ConnectionStatus.test.jsx +54 -0
- package/src/components/__tests__/StatsOverview.test.jsx +66 -0
- package/src/config/constants.js +59 -0
- package/src/hooks/useCounterAnimation.js +219 -0
- package/src/hooks/useWebSocket.js +76 -0
- package/src/index.css +1818 -0
- package/src/main.jsx +17 -0
- package/src/polish-enhancements.css +303 -0
- package/src/premium-visual-polish.css +830 -0
- package/src/responsive-enhancements.css +666 -0
- package/src/styles/theme.css +395 -0
- package/src/test/setup.js +19 -0
- package/start.js +36 -0
- package/vite.config.js +37 -0
package/src/main.jsx
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import ReactDOM from 'react-dom/client';
|
|
3
|
+
import App from './App';
|
|
4
|
+
import { ErrorBoundary } from './components/ErrorBoundary';
|
|
5
|
+
import './index.css';
|
|
6
|
+
import './animations.css';
|
|
7
|
+
import './polish-enhancements.css';
|
|
8
|
+
import './premium-visual-polish.css';
|
|
9
|
+
import './responsive-enhancements.css';
|
|
10
|
+
|
|
11
|
+
ReactDOM.createRoot(document.getElementById('root')).render(
|
|
12
|
+
<React.StrictMode>
|
|
13
|
+
<ErrorBoundary>
|
|
14
|
+
<App />
|
|
15
|
+
</ErrorBoundary>
|
|
16
|
+
</React.StrictMode>
|
|
17
|
+
);
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
/* Premium Visual Polish Enhancements */
|
|
2
|
+
|
|
3
|
+
/* Enhanced Badge Styles with Glow */
|
|
4
|
+
.badge {
|
|
5
|
+
padding: 7px 16px !important;
|
|
6
|
+
border-radius: 9999px;
|
|
7
|
+
font-size: 12px;
|
|
8
|
+
font-weight: 600;
|
|
9
|
+
letter-spacing: 0.3px;
|
|
10
|
+
display: inline-flex !important;
|
|
11
|
+
align-items: center;
|
|
12
|
+
gap: 7px;
|
|
13
|
+
backdrop-filter: blur(12px);
|
|
14
|
+
box-shadow:
|
|
15
|
+
0 2px 6px rgba(0, 0, 0, 0.25),
|
|
16
|
+
0 1px 2px rgba(0, 0, 0, 0.3),
|
|
17
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.15),
|
|
18
|
+
inset 0 -1px 0 rgba(0, 0, 0, 0.2);
|
|
19
|
+
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
20
|
+
position: relative;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.badge::before {
|
|
24
|
+
content: '';
|
|
25
|
+
width: 7px;
|
|
26
|
+
height: 7px;
|
|
27
|
+
border-radius: 50%;
|
|
28
|
+
background: currentColor;
|
|
29
|
+
box-shadow: 0 0 10px currentColor, 0 0 20px currentColor;
|
|
30
|
+
animation: badgePulse 2.5s ease-in-out infinite;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@keyframes badgePulse {
|
|
34
|
+
0%, 100% {
|
|
35
|
+
opacity: 1;
|
|
36
|
+
transform: scale(1);
|
|
37
|
+
filter: brightness(1);
|
|
38
|
+
}
|
|
39
|
+
50% {
|
|
40
|
+
opacity: 0.75;
|
|
41
|
+
transform: scale(0.92);
|
|
42
|
+
filter: brightness(1.2);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.badge:hover {
|
|
47
|
+
transform: translateY(-2px);
|
|
48
|
+
box-shadow:
|
|
49
|
+
0 4px 12px rgba(0, 0, 0, 0.35),
|
|
50
|
+
0 2px 4px rgba(0, 0, 0, 0.4),
|
|
51
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.2),
|
|
52
|
+
inset 0 -1px 0 rgba(0, 0, 0, 0.25);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.badge-pending {
|
|
56
|
+
background: linear-gradient(135deg, rgba(234, 179, 8, 0.3), rgba(234, 179, 8, 0.18)) !important;
|
|
57
|
+
color: #facc15 !important;
|
|
58
|
+
border: 1px solid rgba(234, 179, 8, 0.5) !important;
|
|
59
|
+
text-shadow: 0 0 10px rgba(234, 179, 8, 0.3);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.badge-in-progress {
|
|
63
|
+
background: linear-gradient(135deg, rgba(59, 130, 246, 0.3), rgba(59, 130, 246, 0.18)) !important;
|
|
64
|
+
color: #60a5fa !important;
|
|
65
|
+
border: 1px solid rgba(59, 130, 246, 0.5) !important;
|
|
66
|
+
text-shadow: 0 0 10px rgba(59, 130, 246, 0.3);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.badge-completed {
|
|
70
|
+
background: linear-gradient(135deg, rgba(34, 197, 94, 0.3), rgba(34, 197, 94, 0.18)) !important;
|
|
71
|
+
color: #4ade80 !important;
|
|
72
|
+
border: 1px solid rgba(34, 197, 94, 0.5) !important;
|
|
73
|
+
text-shadow: 0 0 10px rgba(34, 197, 94, 0.3);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.badge-blocked {
|
|
77
|
+
background: linear-gradient(135deg, rgba(239, 68, 68, 0.3), rgba(239, 68, 68, 0.18)) !important;
|
|
78
|
+
color: #f87171 !important;
|
|
79
|
+
border: 1px solid rgba(239, 68, 68, 0.5) !important;
|
|
80
|
+
text-shadow: 0 0 10px rgba(239, 68, 68, 0.3);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/* Visual Dividers */
|
|
84
|
+
.section-divider {
|
|
85
|
+
height: 1px;
|
|
86
|
+
background: linear-gradient(90deg,
|
|
87
|
+
transparent 0%,
|
|
88
|
+
rgba(255, 255, 255, 0.08) 20%,
|
|
89
|
+
rgba(249, 115, 22, 0.25) 50%,
|
|
90
|
+
rgba(255, 255, 255, 0.08) 80%,
|
|
91
|
+
transparent 100%
|
|
92
|
+
);
|
|
93
|
+
margin: 28px 0;
|
|
94
|
+
position: relative;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.section-divider::after {
|
|
98
|
+
content: '';
|
|
99
|
+
position: absolute;
|
|
100
|
+
top: 50%;
|
|
101
|
+
left: 50%;
|
|
102
|
+
transform: translate(-50%, -50%);
|
|
103
|
+
width: 5px;
|
|
104
|
+
height: 5px;
|
|
105
|
+
background: #f97316;
|
|
106
|
+
border-radius: 50%;
|
|
107
|
+
box-shadow: 0 0 12px rgba(249, 115, 22, 0.7), 0 0 24px rgba(249, 115, 22, 0.4);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/* Enhanced Icon Styling */
|
|
111
|
+
.premium-icon-wrapper {
|
|
112
|
+
position: relative;
|
|
113
|
+
display: inline-flex;
|
|
114
|
+
align-items: center;
|
|
115
|
+
justify-content: center;
|
|
116
|
+
padding: 12px;
|
|
117
|
+
border-radius: 14px;
|
|
118
|
+
background: linear-gradient(135deg, rgba(249, 115, 22, 0.18), rgba(249, 115, 22, 0.08));
|
|
119
|
+
box-shadow:
|
|
120
|
+
0 2px 8px rgba(0, 0, 0, 0.3),
|
|
121
|
+
0 1px 3px rgba(0, 0, 0, 0.4),
|
|
122
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.12),
|
|
123
|
+
inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
|
124
|
+
border: 1px solid rgba(249, 115, 22, 0.25);
|
|
125
|
+
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
126
|
+
overflow: hidden;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.premium-icon-wrapper::before {
|
|
130
|
+
content: '';
|
|
131
|
+
position: absolute;
|
|
132
|
+
inset: -2px;
|
|
133
|
+
border-radius: 14px;
|
|
134
|
+
background: linear-gradient(135deg, rgba(255, 255, 255, 0.15), transparent 50%, rgba(249, 115, 22, 0.1));
|
|
135
|
+
opacity: 0;
|
|
136
|
+
transition: opacity 0.3s ease;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.premium-icon-wrapper:hover {
|
|
140
|
+
transform: scale(1.08) rotate(3deg);
|
|
141
|
+
box-shadow:
|
|
142
|
+
0 4px 16px rgba(0, 0, 0, 0.4),
|
|
143
|
+
0 0 24px rgba(249, 115, 22, 0.35),
|
|
144
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.18);
|
|
145
|
+
border-color: rgba(249, 115, 22, 0.45);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
.premium-icon-wrapper:hover::before {
|
|
149
|
+
opacity: 1;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/* Enhanced Card Borders */
|
|
153
|
+
.card, .stat-card {
|
|
154
|
+
border-radius: 20px !important;
|
|
155
|
+
border: 1px solid rgba(255, 255, 255, 0.08) !important;
|
|
156
|
+
position: relative;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.card::after, .stat-card::after {
|
|
160
|
+
content: '';
|
|
161
|
+
position: absolute;
|
|
162
|
+
inset: 0;
|
|
163
|
+
border-radius: 20px;
|
|
164
|
+
padding: 1px;
|
|
165
|
+
background: linear-gradient(135deg, rgba(249, 115, 22, 0.15), transparent 30%, transparent 70%, rgba(249, 115, 22, 0.08));
|
|
166
|
+
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
|
|
167
|
+
-webkit-mask-composite: xor;
|
|
168
|
+
mask-composite: exclude;
|
|
169
|
+
opacity: 0;
|
|
170
|
+
transition: opacity 0.4s ease;
|
|
171
|
+
pointer-events: none;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.card:hover::after, .stat-card:hover::after {
|
|
175
|
+
opacity: 1;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
/* Glass Effect Panel */
|
|
179
|
+
.glass-effect {
|
|
180
|
+
background: rgba(30, 41, 59, 0.7) !important;
|
|
181
|
+
backdrop-filter: blur(20px) saturate(180%) !important;
|
|
182
|
+
border: 1px solid rgba(255, 255, 255, 0.12) !important;
|
|
183
|
+
box-shadow:
|
|
184
|
+
0 8px 32px rgba(0, 0, 0, 0.35),
|
|
185
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.1),
|
|
186
|
+
inset 0 -1px 0 rgba(0, 0, 0, 0.1) !important;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/* Premium Button Enhancement */
|
|
190
|
+
button, .premium-btn {
|
|
191
|
+
box-shadow:
|
|
192
|
+
0 2px 6px rgba(0, 0, 0, 0.25),
|
|
193
|
+
0 1px 2px rgba(0, 0, 0, 0.3),
|
|
194
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
|
|
195
|
+
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
button:hover, .premium-btn:hover {
|
|
199
|
+
box-shadow:
|
|
200
|
+
0 4px 12px rgba(0, 0, 0, 0.35),
|
|
201
|
+
0 2px 4px rgba(0, 0, 0, 0.4),
|
|
202
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
/* Shimmer Effect */
|
|
206
|
+
@keyframes shimmer {
|
|
207
|
+
0% {
|
|
208
|
+
background-position: -200% center;
|
|
209
|
+
}
|
|
210
|
+
100% {
|
|
211
|
+
background-position: 200% center;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.shimmer-text {
|
|
216
|
+
background: linear-gradient(120deg, #f97316, #fb923c, #fdba74, #fb923c, #f97316);
|
|
217
|
+
background-size: 200% auto;
|
|
218
|
+
-webkit-background-clip: text;
|
|
219
|
+
-webkit-text-fill-color: transparent;
|
|
220
|
+
background-clip: text;
|
|
221
|
+
animation: shimmer 3s linear infinite;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
/* Enhanced Scrollbar */
|
|
225
|
+
::-webkit-scrollbar {
|
|
226
|
+
width: 10px;
|
|
227
|
+
height: 10px;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
::-webkit-scrollbar-track {
|
|
231
|
+
background: rgba(15, 23, 42, 0.5);
|
|
232
|
+
border-radius: 5px;
|
|
233
|
+
border: 1px solid rgba(55, 65, 81, 0.3);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
::-webkit-scrollbar-thumb {
|
|
237
|
+
background: linear-gradient(135deg, rgba(249, 115, 22, 0.6), rgba(249, 115, 22, 0.4));
|
|
238
|
+
border-radius: 5px;
|
|
239
|
+
border: 1px solid rgba(249, 115, 22, 0.3);
|
|
240
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
|
|
241
|
+
transition: background 0.3s ease;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
::-webkit-scrollbar-thumb:hover {
|
|
245
|
+
background: linear-gradient(135deg, rgba(249, 115, 22, 0.8), rgba(249, 115, 22, 0.6));
|
|
246
|
+
box-shadow: 0 0 8px rgba(249, 115, 22, 0.4);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
/* Subtle Noise Texture */
|
|
250
|
+
.texture-bg::before {
|
|
251
|
+
content: '';
|
|
252
|
+
position: absolute;
|
|
253
|
+
inset: 0;
|
|
254
|
+
background-image: url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M50 50c0-5.523 4.477-10 10-10s10 4.477 10 10-4.477 10-10 10c0 5.523-4.477 10-10 10s-10-4.477-10-10 4.477-10 10-10zM10 10c0-5.523 4.477-10 10-10s10 4.477 10 10-4.477 10-10 10c0 5.523-4.477 10-10 10S0 25.523 0 20s4.477-10 10-10zm10 8c4.418 0 8-3.582 8-8s-3.582-8-8-8-8 3.582-8 8 3.582 8 8 8zm40 40c4.418 0 8-3.582 8-8s-3.582-8-8-8-8 3.582-8 8 3.582 8 8 8z' /%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
|
|
255
|
+
opacity: 0.4;
|
|
256
|
+
pointer-events: none;
|
|
257
|
+
z-index: 1;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/* Glow on Text Headers */
|
|
261
|
+
h1, h2, h3 {
|
|
262
|
+
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
.text-white {
|
|
266
|
+
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
/* Color Glow Effects */
|
|
270
|
+
.text-claude-orange {
|
|
271
|
+
text-shadow: 0 0 15px rgba(249, 115, 22, 0.5), 0 0 5px rgba(249, 115, 22, 0.3) !important;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
.text-blue-400 {
|
|
275
|
+
text-shadow: 0 0 10px rgba(96, 165, 250, 0.4) !important;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
.text-green-400 {
|
|
279
|
+
text-shadow: 0 0 10px rgba(74, 222, 128, 0.4) !important;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
.text-yellow-400 {
|
|
283
|
+
text-shadow: 0 0 10px rgba(250, 204, 21, 0.4) !important;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
.text-red-400 {
|
|
287
|
+
text-shadow: 0 0 10px rgba(248, 113, 113, 0.4) !important;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
/* Staggered Animation for Cards */
|
|
291
|
+
.card:nth-child(1) { animation-delay: 0.05s; }
|
|
292
|
+
.card:nth-child(2) { animation-delay: 0.1s; }
|
|
293
|
+
.card:nth-child(3) { animation-delay: 0.15s; }
|
|
294
|
+
.card:nth-child(4) { animation-delay: 0.2s; }
|
|
295
|
+
.card:nth-child(5) { animation-delay: 0.25s; }
|
|
296
|
+
.card:nth-child(6) { animation-delay: 0.3s; }
|
|
297
|
+
|
|
298
|
+
.stat-card:nth-child(1) { animation-delay: 0.05s; }
|
|
299
|
+
.stat-card:nth-child(2) { animation-delay: 0.1s; }
|
|
300
|
+
.stat-card:nth-child(3) { animation-delay: 0.15s; }
|
|
301
|
+
.stat-card:nth-child(4) { animation-delay: 0.2s; }
|
|
302
|
+
.stat-card:nth-child(5) { animation-delay: 0.25s; }
|
|
303
|
+
.stat-card:nth-child(6) { animation-delay: 0.3s; }
|