@industry-theme/alexandria-panels 0.1.12 → 0.1.14
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.
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/panels/UserProfilePanel/index.d.ts +35 -0
- package/dist/panels/UserProfilePanel/index.d.ts.map +1 -0
- package/dist/panels/UserProfilePanel/tools.d.ts +46 -0
- package/dist/panels/UserProfilePanel/tools.d.ts.map +1 -0
- package/dist/panels/UserProfilePanel/types.d.ts +207 -0
- package/dist/panels/UserProfilePanel/types.d.ts.map +1 -0
- package/dist/panels.bundle.js +1372 -236
- package/dist/panels.bundle.js.map +1 -1
- package/package.json +1 -1
package/dist/panels.bundle.js
CHANGED
|
@@ -140,7 +140,7 @@ const createLucideIcon = (iconName, iconNode) => {
|
|
|
140
140
|
* This source code is licensed under the ISC license.
|
|
141
141
|
* See the LICENSE file in the root directory of this source tree.
|
|
142
142
|
*/
|
|
143
|
-
const __iconNode$
|
|
143
|
+
const __iconNode$u = [
|
|
144
144
|
["path", { d: "M10 12h4", key: "a56b0p" }],
|
|
145
145
|
["path", { d: "M10 8h4", key: "1sr2af" }],
|
|
146
146
|
["path", { d: "M14 21v-3a2 2 0 0 0-4 0v3", key: "1rgiei" }],
|
|
@@ -153,111 +153,132 @@ const __iconNode$q = [
|
|
|
153
153
|
],
|
|
154
154
|
["path", { d: "M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16", key: "16ra0t" }]
|
|
155
155
|
];
|
|
156
|
-
const Building2 = createLucideIcon("building-2", __iconNode$
|
|
156
|
+
const Building2 = createLucideIcon("building-2", __iconNode$u);
|
|
157
157
|
/**
|
|
158
158
|
* @license lucide-react v0.552.0 - ISC
|
|
159
159
|
*
|
|
160
160
|
* This source code is licensed under the ISC license.
|
|
161
161
|
* See the LICENSE file in the root directory of this source tree.
|
|
162
162
|
*/
|
|
163
|
-
const __iconNode$
|
|
164
|
-
|
|
163
|
+
const __iconNode$t = [
|
|
164
|
+
["path", { d: "M8 2v4", key: "1cmpym" }],
|
|
165
|
+
["path", { d: "M16 2v4", key: "4m81vk" }],
|
|
166
|
+
["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
|
|
167
|
+
["path", { d: "M3 10h18", key: "8toen8" }]
|
|
168
|
+
];
|
|
169
|
+
const Calendar = createLucideIcon("calendar", __iconNode$t);
|
|
165
170
|
/**
|
|
166
171
|
* @license lucide-react v0.552.0 - ISC
|
|
167
172
|
*
|
|
168
173
|
* This source code is licensed under the ISC license.
|
|
169
174
|
* See the LICENSE file in the root directory of this source tree.
|
|
170
175
|
*/
|
|
171
|
-
const __iconNode$
|
|
172
|
-
const
|
|
176
|
+
const __iconNode$s = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
|
|
177
|
+
const Check = createLucideIcon("check", __iconNode$s);
|
|
173
178
|
/**
|
|
174
179
|
* @license lucide-react v0.552.0 - ISC
|
|
175
180
|
*
|
|
176
181
|
* This source code is licensed under the ISC license.
|
|
177
182
|
* See the LICENSE file in the root directory of this source tree.
|
|
178
183
|
*/
|
|
179
|
-
const __iconNode$
|
|
180
|
-
const
|
|
184
|
+
const __iconNode$r = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
|
|
185
|
+
const ChevronDown = createLucideIcon("chevron-down", __iconNode$r);
|
|
181
186
|
/**
|
|
182
187
|
* @license lucide-react v0.552.0 - ISC
|
|
183
188
|
*
|
|
184
189
|
* This source code is licensed under the ISC license.
|
|
185
190
|
* See the LICENSE file in the root directory of this source tree.
|
|
186
191
|
*/
|
|
187
|
-
const __iconNode$
|
|
192
|
+
const __iconNode$q = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
|
|
193
|
+
const ChevronRight = createLucideIcon("chevron-right", __iconNode$q);
|
|
194
|
+
/**
|
|
195
|
+
* @license lucide-react v0.552.0 - ISC
|
|
196
|
+
*
|
|
197
|
+
* This source code is licensed under the ISC license.
|
|
198
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
199
|
+
*/
|
|
200
|
+
const __iconNode$p = [
|
|
188
201
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
189
202
|
["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
|
|
190
203
|
["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
|
|
191
204
|
];
|
|
192
|
-
const CircleAlert = createLucideIcon("circle-alert", __iconNode$
|
|
205
|
+
const CircleAlert = createLucideIcon("circle-alert", __iconNode$p);
|
|
193
206
|
/**
|
|
194
207
|
* @license lucide-react v0.552.0 - ISC
|
|
195
208
|
*
|
|
196
209
|
* This source code is licensed under the ISC license.
|
|
197
210
|
* See the LICENSE file in the root directory of this source tree.
|
|
198
211
|
*/
|
|
199
|
-
const __iconNode$
|
|
212
|
+
const __iconNode$o = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]];
|
|
213
|
+
const Circle = createLucideIcon("circle", __iconNode$o);
|
|
214
|
+
/**
|
|
215
|
+
* @license lucide-react v0.552.0 - ISC
|
|
216
|
+
*
|
|
217
|
+
* This source code is licensed under the ISC license.
|
|
218
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
219
|
+
*/
|
|
220
|
+
const __iconNode$n = [
|
|
200
221
|
["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
|
|
201
222
|
["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
|
|
202
223
|
];
|
|
203
|
-
const Copy = createLucideIcon("copy", __iconNode$
|
|
224
|
+
const Copy = createLucideIcon("copy", __iconNode$n);
|
|
204
225
|
/**
|
|
205
226
|
* @license lucide-react v0.552.0 - ISC
|
|
206
227
|
*
|
|
207
228
|
* This source code is licensed under the ISC license.
|
|
208
229
|
* See the LICENSE file in the root directory of this source tree.
|
|
209
230
|
*/
|
|
210
|
-
const __iconNode$
|
|
231
|
+
const __iconNode$m = [
|
|
211
232
|
["path", { d: "M10 12h.01", key: "1kxr2c" }],
|
|
212
233
|
["path", { d: "M18 20V6a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v14", key: "36qu9e" }],
|
|
213
234
|
["path", { d: "M2 20h20", key: "owomy5" }]
|
|
214
235
|
];
|
|
215
|
-
const DoorClosed = createLucideIcon("door-closed", __iconNode$
|
|
236
|
+
const DoorClosed = createLucideIcon("door-closed", __iconNode$m);
|
|
216
237
|
/**
|
|
217
238
|
* @license lucide-react v0.552.0 - ISC
|
|
218
239
|
*
|
|
219
240
|
* This source code is licensed under the ISC license.
|
|
220
241
|
* See the LICENSE file in the root directory of this source tree.
|
|
221
242
|
*/
|
|
222
|
-
const __iconNode$
|
|
243
|
+
const __iconNode$l = [
|
|
223
244
|
["path", { d: "M12 15V3", key: "m9g1x1" }],
|
|
224
245
|
["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
|
|
225
246
|
["path", { d: "m7 10 5 5 5-5", key: "brsn70" }]
|
|
226
247
|
];
|
|
227
|
-
const Download = createLucideIcon("download", __iconNode$
|
|
248
|
+
const Download = createLucideIcon("download", __iconNode$l);
|
|
228
249
|
/**
|
|
229
250
|
* @license lucide-react v0.552.0 - ISC
|
|
230
251
|
*
|
|
231
252
|
* This source code is licensed under the ISC license.
|
|
232
253
|
* See the LICENSE file in the root directory of this source tree.
|
|
233
254
|
*/
|
|
234
|
-
const __iconNode$
|
|
255
|
+
const __iconNode$k = [
|
|
235
256
|
["path", { d: "M15 3h6v6", key: "1q9fwt" }],
|
|
236
257
|
["path", { d: "M10 14 21 3", key: "gplh6r" }],
|
|
237
258
|
["path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6", key: "a6xqqp" }]
|
|
238
259
|
];
|
|
239
|
-
const ExternalLink = createLucideIcon("external-link", __iconNode$
|
|
260
|
+
const ExternalLink = createLucideIcon("external-link", __iconNode$k);
|
|
240
261
|
/**
|
|
241
262
|
* @license lucide-react v0.552.0 - ISC
|
|
242
263
|
*
|
|
243
264
|
* This source code is licensed under the ISC license.
|
|
244
265
|
* See the LICENSE file in the root directory of this source tree.
|
|
245
266
|
*/
|
|
246
|
-
const __iconNode$
|
|
267
|
+
const __iconNode$j = [
|
|
247
268
|
["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }],
|
|
248
269
|
["path", { d: "M3 7V5a2 2 0 0 1 2-2h2", key: "aa7l1z" }],
|
|
249
270
|
["path", { d: "M17 3h2a2 2 0 0 1 2 2v2", key: "4qcy5o" }],
|
|
250
271
|
["path", { d: "M21 17v2a2 2 0 0 1-2 2h-2", key: "6vwrx8" }],
|
|
251
272
|
["path", { d: "M7 21H5a2 2 0 0 1-2-2v-2", key: "ioqczr" }]
|
|
252
273
|
];
|
|
253
|
-
const Focus = createLucideIcon("focus", __iconNode$
|
|
274
|
+
const Focus = createLucideIcon("focus", __iconNode$j);
|
|
254
275
|
/**
|
|
255
276
|
* @license lucide-react v0.552.0 - ISC
|
|
256
277
|
*
|
|
257
278
|
* This source code is licensed under the ISC license.
|
|
258
279
|
* See the LICENSE file in the root directory of this source tree.
|
|
259
280
|
*/
|
|
260
|
-
const __iconNode$
|
|
281
|
+
const __iconNode$i = [
|
|
261
282
|
[
|
|
262
283
|
"path",
|
|
263
284
|
{
|
|
@@ -269,14 +290,14 @@ const __iconNode$g = [
|
|
|
269
290
|
["path", { d: "M18 19c-2.8 0-5-2.2-5-5v8", key: "pkpw2h" }],
|
|
270
291
|
["circle", { cx: "20", cy: "19", r: "2", key: "1obnsp" }]
|
|
271
292
|
];
|
|
272
|
-
const FolderGit2 = createLucideIcon("folder-git-2", __iconNode$
|
|
293
|
+
const FolderGit2 = createLucideIcon("folder-git-2", __iconNode$i);
|
|
273
294
|
/**
|
|
274
295
|
* @license lucide-react v0.552.0 - ISC
|
|
275
296
|
*
|
|
276
297
|
* This source code is licensed under the ISC license.
|
|
277
298
|
* See the LICENSE file in the root directory of this source tree.
|
|
278
299
|
*/
|
|
279
|
-
const __iconNode$
|
|
300
|
+
const __iconNode$h = [
|
|
280
301
|
[
|
|
281
302
|
"path",
|
|
282
303
|
{
|
|
@@ -285,14 +306,14 @@ const __iconNode$f = [
|
|
|
285
306
|
}
|
|
286
307
|
]
|
|
287
308
|
];
|
|
288
|
-
const FolderOpen = createLucideIcon("folder-open", __iconNode$
|
|
309
|
+
const FolderOpen = createLucideIcon("folder-open", __iconNode$h);
|
|
289
310
|
/**
|
|
290
311
|
* @license lucide-react v0.552.0 - ISC
|
|
291
312
|
*
|
|
292
313
|
* This source code is licensed under the ISC license.
|
|
293
314
|
* See the LICENSE file in the root directory of this source tree.
|
|
294
315
|
*/
|
|
295
|
-
const __iconNode$
|
|
316
|
+
const __iconNode$g = [
|
|
296
317
|
[
|
|
297
318
|
"path",
|
|
298
319
|
{
|
|
@@ -301,28 +322,28 @@ const __iconNode$e = [
|
|
|
301
322
|
}
|
|
302
323
|
]
|
|
303
324
|
];
|
|
304
|
-
const Folder = createLucideIcon("folder", __iconNode$
|
|
325
|
+
const Folder = createLucideIcon("folder", __iconNode$g);
|
|
305
326
|
/**
|
|
306
327
|
* @license lucide-react v0.552.0 - ISC
|
|
307
328
|
*
|
|
308
329
|
* This source code is licensed under the ISC license.
|
|
309
330
|
* See the LICENSE file in the root directory of this source tree.
|
|
310
331
|
*/
|
|
311
|
-
const __iconNode$
|
|
332
|
+
const __iconNode$f = [
|
|
312
333
|
["circle", { cx: "12", cy: "18", r: "3", key: "1mpf1b" }],
|
|
313
334
|
["circle", { cx: "6", cy: "6", r: "3", key: "1lh9wr" }],
|
|
314
335
|
["circle", { cx: "18", cy: "6", r: "3", key: "1h7g24" }],
|
|
315
336
|
["path", { d: "M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9", key: "1uq4wg" }],
|
|
316
337
|
["path", { d: "M12 12v3", key: "158kv8" }]
|
|
317
338
|
];
|
|
318
|
-
const GitFork = createLucideIcon("git-fork", __iconNode$
|
|
339
|
+
const GitFork = createLucideIcon("git-fork", __iconNode$f);
|
|
319
340
|
/**
|
|
320
341
|
* @license lucide-react v0.552.0 - ISC
|
|
321
342
|
*
|
|
322
343
|
* This source code is licensed under the ISC license.
|
|
323
344
|
* See the LICENSE file in the root directory of this source tree.
|
|
324
345
|
*/
|
|
325
|
-
const __iconNode$
|
|
346
|
+
const __iconNode$e = [
|
|
326
347
|
["path", { d: "M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8", key: "5wwlr5" }],
|
|
327
348
|
[
|
|
328
349
|
"path",
|
|
@@ -332,14 +353,14 @@ const __iconNode$c = [
|
|
|
332
353
|
}
|
|
333
354
|
]
|
|
334
355
|
];
|
|
335
|
-
const House = createLucideIcon("house", __iconNode$
|
|
356
|
+
const House = createLucideIcon("house", __iconNode$e);
|
|
336
357
|
/**
|
|
337
358
|
* @license lucide-react v0.552.0 - ISC
|
|
338
359
|
*
|
|
339
360
|
* This source code is licensed under the ISC license.
|
|
340
361
|
* See the LICENSE file in the root directory of this source tree.
|
|
341
362
|
*/
|
|
342
|
-
const __iconNode$
|
|
363
|
+
const __iconNode$d = [
|
|
343
364
|
[
|
|
344
365
|
"path",
|
|
345
366
|
{
|
|
@@ -362,26 +383,54 @@ const __iconNode$b = [
|
|
|
362
383
|
}
|
|
363
384
|
]
|
|
364
385
|
];
|
|
365
|
-
const Layers = createLucideIcon("layers", __iconNode$
|
|
386
|
+
const Layers = createLucideIcon("layers", __iconNode$d);
|
|
366
387
|
/**
|
|
367
388
|
* @license lucide-react v0.552.0 - ISC
|
|
368
389
|
*
|
|
369
390
|
* This source code is licensed under the ISC license.
|
|
370
391
|
* See the LICENSE file in the root directory of this source tree.
|
|
371
392
|
*/
|
|
372
|
-
const __iconNode$
|
|
373
|
-
const LoaderCircle = createLucideIcon("loader-circle", __iconNode$
|
|
393
|
+
const __iconNode$c = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
|
|
394
|
+
const LoaderCircle = createLucideIcon("loader-circle", __iconNode$c);
|
|
374
395
|
/**
|
|
375
396
|
* @license lucide-react v0.552.0 - ISC
|
|
376
397
|
*
|
|
377
398
|
* This source code is licensed under the ISC license.
|
|
378
399
|
* See the LICENSE file in the root directory of this source tree.
|
|
379
400
|
*/
|
|
380
|
-
const __iconNode$
|
|
401
|
+
const __iconNode$b = [
|
|
381
402
|
["rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2", key: "1w4ew1" }],
|
|
382
403
|
["path", { d: "M7 11V7a5 5 0 0 1 10 0v4", key: "fwvmzm" }]
|
|
383
404
|
];
|
|
384
|
-
const Lock = createLucideIcon("lock", __iconNode$
|
|
405
|
+
const Lock = createLucideIcon("lock", __iconNode$b);
|
|
406
|
+
/**
|
|
407
|
+
* @license lucide-react v0.552.0 - ISC
|
|
408
|
+
*
|
|
409
|
+
* This source code is licensed under the ISC license.
|
|
410
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
411
|
+
*/
|
|
412
|
+
const __iconNode$a = [
|
|
413
|
+
["path", { d: "m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7", key: "132q7q" }],
|
|
414
|
+
["rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", key: "izxlao" }]
|
|
415
|
+
];
|
|
416
|
+
const Mail = createLucideIcon("mail", __iconNode$a);
|
|
417
|
+
/**
|
|
418
|
+
* @license lucide-react v0.552.0 - ISC
|
|
419
|
+
*
|
|
420
|
+
* This source code is licensed under the ISC license.
|
|
421
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
422
|
+
*/
|
|
423
|
+
const __iconNode$9 = [
|
|
424
|
+
[
|
|
425
|
+
"path",
|
|
426
|
+
{
|
|
427
|
+
d: "M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",
|
|
428
|
+
key: "1r0f0z"
|
|
429
|
+
}
|
|
430
|
+
],
|
|
431
|
+
["circle", { cx: "12", cy: "10", r: "3", key: "ilqhr7" }]
|
|
432
|
+
];
|
|
433
|
+
const MapPin = createLucideIcon("map-pin", __iconNode$9);
|
|
385
434
|
/**
|
|
386
435
|
* @license lucide-react v0.552.0 - ISC
|
|
387
436
|
*
|
|
@@ -956,10 +1005,10 @@ const LocalProjectCard = ({
|
|
|
956
1005
|
}
|
|
957
1006
|
);
|
|
958
1007
|
};
|
|
959
|
-
const PANEL_ID$
|
|
960
|
-
const createPanelEvent$
|
|
1008
|
+
const PANEL_ID$b = "industry-theme.local-projects";
|
|
1009
|
+
const createPanelEvent$5 = (type, payload) => ({
|
|
961
1010
|
type,
|
|
962
|
-
source: PANEL_ID$
|
|
1011
|
+
source: PANEL_ID$b,
|
|
963
1012
|
timestamp: Date.now(),
|
|
964
1013
|
payload
|
|
965
1014
|
});
|
|
@@ -995,7 +1044,7 @@ const LocalProjectsPanelContent = ({
|
|
|
995
1044
|
try {
|
|
996
1045
|
await panelActions.openRepository(entry);
|
|
997
1046
|
setWindowStates((prev) => new Map(prev).set(entry.path, "ready"));
|
|
998
|
-
events.emit(createPanelEvent$
|
|
1047
|
+
events.emit(createPanelEvent$5(`${PANEL_ID$b}:repository-opened`, { entry }));
|
|
999
1048
|
} catch (error) {
|
|
1000
1049
|
console.error("Error opening repository:", error);
|
|
1001
1050
|
setWindowStates((prev) => new Map(prev).set(entry.path, "closed"));
|
|
@@ -1006,14 +1055,14 @@ const LocalProjectsPanelContent = ({
|
|
|
1006
1055
|
useEffect(() => {
|
|
1007
1056
|
const unsubscribers = [
|
|
1008
1057
|
// Filter event from tools
|
|
1009
|
-
events.on(`${PANEL_ID$
|
|
1058
|
+
events.on(`${PANEL_ID$b}:filter`, (event) => {
|
|
1010
1059
|
var _a2;
|
|
1011
1060
|
if (((_a2 = event.payload) == null ? void 0 : _a2.filter) !== void 0) {
|
|
1012
1061
|
setFilter(event.payload.filter);
|
|
1013
1062
|
}
|
|
1014
1063
|
}),
|
|
1015
1064
|
// Select repository event from tools
|
|
1016
|
-
events.on(`${PANEL_ID$
|
|
1065
|
+
events.on(`${PANEL_ID$b}:select-repository`, (event) => {
|
|
1017
1066
|
var _a2;
|
|
1018
1067
|
const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
|
|
1019
1068
|
if (identifier) {
|
|
@@ -1022,12 +1071,12 @@ const LocalProjectsPanelContent = ({
|
|
|
1022
1071
|
);
|
|
1023
1072
|
if (entry) {
|
|
1024
1073
|
setSelectedEntry(entry);
|
|
1025
|
-
events.emit(createPanelEvent$
|
|
1074
|
+
events.emit(createPanelEvent$5(`${PANEL_ID$b}:repository-selected`, { entry }));
|
|
1026
1075
|
}
|
|
1027
1076
|
}
|
|
1028
1077
|
}),
|
|
1029
1078
|
// Open repository event from tools
|
|
1030
|
-
events.on(`${PANEL_ID$
|
|
1079
|
+
events.on(`${PANEL_ID$b}:open-repository`, (event) => {
|
|
1031
1080
|
var _a2;
|
|
1032
1081
|
const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
|
|
1033
1082
|
if (identifier) {
|
|
@@ -1075,7 +1124,7 @@ const LocalProjectsPanelContent = ({
|
|
|
1075
1124
|
};
|
|
1076
1125
|
const handleSelectRepository = (entry) => {
|
|
1077
1126
|
setSelectedEntry(entry);
|
|
1078
|
-
events.emit(createPanelEvent$
|
|
1127
|
+
events.emit(createPanelEvent$5(`${PANEL_ID$b}:repository-selected`, { entry }));
|
|
1079
1128
|
};
|
|
1080
1129
|
const normalizedFilter = filter.trim().toLowerCase();
|
|
1081
1130
|
const filteredAndSortedRepositories = useMemo(() => {
|
|
@@ -1336,10 +1385,10 @@ const LocalProjectsPanelPreview = () => {
|
|
|
1336
1385
|
}
|
|
1337
1386
|
);
|
|
1338
1387
|
};
|
|
1339
|
-
const PANEL_ID$
|
|
1340
|
-
const createPanelEvent$
|
|
1388
|
+
const PANEL_ID$a = "industry-theme.workspace-repositories";
|
|
1389
|
+
const createPanelEvent$4 = (type, payload) => ({
|
|
1341
1390
|
type,
|
|
1342
|
-
source: PANEL_ID$
|
|
1391
|
+
source: PANEL_ID$a,
|
|
1343
1392
|
timestamp: Date.now(),
|
|
1344
1393
|
payload
|
|
1345
1394
|
});
|
|
@@ -1404,7 +1453,7 @@ const WorkspaceRepositoriesPanelContent = ({
|
|
|
1404
1453
|
(repository) => {
|
|
1405
1454
|
var _a;
|
|
1406
1455
|
events.emit(
|
|
1407
|
-
createPanelEvent$
|
|
1456
|
+
createPanelEvent$4("repository:selected", {
|
|
1408
1457
|
repositoryId: ((_a = repository.github) == null ? void 0 : _a.id) || repository.name,
|
|
1409
1458
|
repository,
|
|
1410
1459
|
repositoryPath: repository.path
|
|
@@ -1417,7 +1466,7 @@ const WorkspaceRepositoriesPanelContent = ({
|
|
|
1417
1466
|
(repository) => {
|
|
1418
1467
|
var _a;
|
|
1419
1468
|
events.emit(
|
|
1420
|
-
createPanelEvent$
|
|
1469
|
+
createPanelEvent$4("repository:opened", {
|
|
1421
1470
|
repositoryId: ((_a = repository.github) == null ? void 0 : _a.id) || repository.name,
|
|
1422
1471
|
repository
|
|
1423
1472
|
})
|
|
@@ -1458,7 +1507,7 @@ const WorkspaceRepositoriesPanelContent = ({
|
|
|
1458
1507
|
);
|
|
1459
1508
|
useEffect(() => {
|
|
1460
1509
|
const unsubscribers = [
|
|
1461
|
-
events.on(`${PANEL_ID$
|
|
1510
|
+
events.on(`${PANEL_ID$a}:select-repository`, (event) => {
|
|
1462
1511
|
var _a;
|
|
1463
1512
|
const path = (_a = event.payload) == null ? void 0 : _a.repositoryPath;
|
|
1464
1513
|
if (path) {
|
|
@@ -1468,7 +1517,7 @@ const WorkspaceRepositoriesPanelContent = ({
|
|
|
1468
1517
|
}
|
|
1469
1518
|
}
|
|
1470
1519
|
}),
|
|
1471
|
-
events.on(`${PANEL_ID$
|
|
1520
|
+
events.on(`${PANEL_ID$a}:open-repository`, (event) => {
|
|
1472
1521
|
var _a;
|
|
1473
1522
|
const path = (_a = event.payload) == null ? void 0 : _a.repositoryPath;
|
|
1474
1523
|
if (path) {
|
|
@@ -2157,10 +2206,10 @@ const WorkspaceCard = ({
|
|
|
2157
2206
|
}
|
|
2158
2207
|
);
|
|
2159
2208
|
};
|
|
2160
|
-
const PANEL_ID$
|
|
2161
|
-
const createPanelEvent$
|
|
2209
|
+
const PANEL_ID$9 = "industry-theme.workspaces-list";
|
|
2210
|
+
const createPanelEvent$3 = (type, payload) => ({
|
|
2162
2211
|
type,
|
|
2163
|
-
source: PANEL_ID$
|
|
2212
|
+
source: PANEL_ID$9,
|
|
2164
2213
|
timestamp: Date.now(),
|
|
2165
2214
|
payload
|
|
2166
2215
|
});
|
|
@@ -2235,7 +2284,7 @@ const WorkspacesListPanelContent = ({
|
|
|
2235
2284
|
(workspace) => {
|
|
2236
2285
|
setSelectedWorkspaceId(workspace.id);
|
|
2237
2286
|
events.emit(
|
|
2238
|
-
createPanelEvent$
|
|
2287
|
+
createPanelEvent$3(`${PANEL_ID$9}:workspace:selected`, {
|
|
2239
2288
|
workspaceId: workspace.id,
|
|
2240
2289
|
workspace
|
|
2241
2290
|
})
|
|
@@ -2252,7 +2301,7 @@ const WorkspacesListPanelContent = ({
|
|
|
2252
2301
|
try {
|
|
2253
2302
|
await panelActions.openWorkspace(workspace.id);
|
|
2254
2303
|
events.emit(
|
|
2255
|
-
createPanelEvent$
|
|
2304
|
+
createPanelEvent$3(`${PANEL_ID$9}:workspace:opened`, {
|
|
2256
2305
|
workspaceId: workspace.id,
|
|
2257
2306
|
workspace
|
|
2258
2307
|
})
|
|
@@ -2276,7 +2325,7 @@ const WorkspacesListPanelContent = ({
|
|
|
2276
2325
|
try {
|
|
2277
2326
|
await panelActions.deleteWorkspace(workspace.id);
|
|
2278
2327
|
events.emit(
|
|
2279
|
-
createPanelEvent$
|
|
2328
|
+
createPanelEvent$3(`${PANEL_ID$9}:workspace:deleted`, {
|
|
2280
2329
|
workspaceId: workspace.id
|
|
2281
2330
|
})
|
|
2282
2331
|
);
|
|
@@ -2300,13 +2349,13 @@ const WorkspacesListPanelContent = ({
|
|
|
2300
2349
|
);
|
|
2301
2350
|
const handleCreateWorkspace = useCallback(() => {
|
|
2302
2351
|
events.emit(
|
|
2303
|
-
createPanelEvent$
|
|
2352
|
+
createPanelEvent$3(`${PANEL_ID$9}:create-workspace-requested`, {})
|
|
2304
2353
|
);
|
|
2305
2354
|
}, [events]);
|
|
2306
2355
|
useEffect(() => {
|
|
2307
2356
|
const unsubscribers = [
|
|
2308
2357
|
// Select workspace event from tools
|
|
2309
|
-
events.on(`${PANEL_ID$
|
|
2358
|
+
events.on(`${PANEL_ID$9}:select-workspace`, (event) => {
|
|
2310
2359
|
var _a2;
|
|
2311
2360
|
const workspaceId = (_a2 = event.payload) == null ? void 0 : _a2.workspaceId;
|
|
2312
2361
|
if (workspaceId) {
|
|
@@ -2317,7 +2366,7 @@ const WorkspacesListPanelContent = ({
|
|
|
2317
2366
|
}
|
|
2318
2367
|
}),
|
|
2319
2368
|
// Open workspace event from tools
|
|
2320
|
-
events.on(`${PANEL_ID$
|
|
2369
|
+
events.on(`${PANEL_ID$9}:open-workspace`, (event) => {
|
|
2321
2370
|
var _a2;
|
|
2322
2371
|
const workspaceId = (_a2 = event.payload) == null ? void 0 : _a2.workspaceId;
|
|
2323
2372
|
if (workspaceId) {
|
|
@@ -2329,14 +2378,14 @@ const WorkspacesListPanelContent = ({
|
|
|
2329
2378
|
}),
|
|
2330
2379
|
// Create workspace event from tools
|
|
2331
2380
|
events.on(
|
|
2332
|
-
`${PANEL_ID$
|
|
2381
|
+
`${PANEL_ID$9}:create-workspace`,
|
|
2333
2382
|
async (event) => {
|
|
2334
2383
|
const { name, description } = event.payload || {};
|
|
2335
2384
|
if (name && panelActions.createWorkspace) {
|
|
2336
2385
|
try {
|
|
2337
2386
|
const workspace = await panelActions.createWorkspace(name, { description });
|
|
2338
2387
|
events.emit(
|
|
2339
|
-
createPanelEvent$
|
|
2388
|
+
createPanelEvent$3(`${PANEL_ID$9}:workspace:created`, {
|
|
2340
2389
|
workspaceId: workspace.id,
|
|
2341
2390
|
workspace
|
|
2342
2391
|
})
|
|
@@ -2949,10 +2998,10 @@ function formatNumber(num) {
|
|
|
2949
2998
|
}
|
|
2950
2999
|
return num.toString();
|
|
2951
3000
|
}
|
|
2952
|
-
const PANEL_ID$
|
|
2953
|
-
const createPanelEvent$
|
|
3001
|
+
const PANEL_ID$8 = "industry-theme.github-starred";
|
|
3002
|
+
const createPanelEvent$2 = (type, payload) => ({
|
|
2954
3003
|
type,
|
|
2955
|
-
source: PANEL_ID$
|
|
3004
|
+
source: PANEL_ID$8,
|
|
2956
3005
|
timestamp: Date.now(),
|
|
2957
3006
|
payload
|
|
2958
3007
|
});
|
|
@@ -3041,7 +3090,7 @@ const GitHubStarredPanelContent = ({
|
|
|
3041
3090
|
if (panelActions.cloneRepository) {
|
|
3042
3091
|
await panelActions.cloneRepository(repo);
|
|
3043
3092
|
events.emit(
|
|
3044
|
-
createPanelEvent$
|
|
3093
|
+
createPanelEvent$2(`${PANEL_ID$8}:repository-cloned`, {
|
|
3045
3094
|
repository: repo
|
|
3046
3095
|
})
|
|
3047
3096
|
);
|
|
@@ -3061,7 +3110,7 @@ const GitHubStarredPanelContent = ({
|
|
|
3061
3110
|
(repo) => {
|
|
3062
3111
|
setSelectedRepo(repo);
|
|
3063
3112
|
events.emit(
|
|
3064
|
-
createPanelEvent$
|
|
3113
|
+
createPanelEvent$2(`${PANEL_ID$8}:repository-selected`, { repository: repo })
|
|
3065
3114
|
);
|
|
3066
3115
|
},
|
|
3067
3116
|
[events]
|
|
@@ -3073,11 +3122,11 @@ const GitHubStarredPanelContent = ({
|
|
|
3073
3122
|
}, [panelActions]);
|
|
3074
3123
|
useEffect(() => {
|
|
3075
3124
|
const unsubscribers = [
|
|
3076
|
-
events.on(`${PANEL_ID$
|
|
3125
|
+
events.on(`${PANEL_ID$8}:filter`, (event) => {
|
|
3077
3126
|
var _a2;
|
|
3078
3127
|
setFilter(((_a2 = event.payload) == null ? void 0 : _a2.filter) || "");
|
|
3079
3128
|
}),
|
|
3080
|
-
events.on(`${PANEL_ID$
|
|
3129
|
+
events.on(`${PANEL_ID$8}:select-repository`, (event) => {
|
|
3081
3130
|
var _a2;
|
|
3082
3131
|
const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
|
|
3083
3132
|
if (identifier) {
|
|
@@ -3089,7 +3138,7 @@ const GitHubStarredPanelContent = ({
|
|
|
3089
3138
|
}
|
|
3090
3139
|
}
|
|
3091
3140
|
}),
|
|
3092
|
-
events.on(`${PANEL_ID$
|
|
3141
|
+
events.on(`${PANEL_ID$8}:clone-repository`, (event) => {
|
|
3093
3142
|
var _a2;
|
|
3094
3143
|
const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
|
|
3095
3144
|
if (identifier) {
|
|
@@ -3422,10 +3471,10 @@ const GitHubStarredPanelPreview = () => {
|
|
|
3422
3471
|
}
|
|
3423
3472
|
);
|
|
3424
3473
|
};
|
|
3425
|
-
const PANEL_ID$
|
|
3426
|
-
const createPanelEvent = (type, payload) => ({
|
|
3474
|
+
const PANEL_ID$7 = "industry-theme.github-projects";
|
|
3475
|
+
const createPanelEvent$1 = (type, payload) => ({
|
|
3427
3476
|
type,
|
|
3428
|
-
source: PANEL_ID$
|
|
3477
|
+
source: PANEL_ID$7,
|
|
3429
3478
|
timestamp: Date.now(),
|
|
3430
3479
|
payload
|
|
3431
3480
|
});
|
|
@@ -3548,7 +3597,7 @@ const GitHubProjectsPanelContent = ({
|
|
|
3548
3597
|
if (panelActions.cloneRepository) {
|
|
3549
3598
|
await panelActions.cloneRepository(repo);
|
|
3550
3599
|
events.emit(
|
|
3551
|
-
createPanelEvent(`${PANEL_ID$
|
|
3600
|
+
createPanelEvent$1(`${PANEL_ID$7}:repository-cloned`, {
|
|
3552
3601
|
repository: repo
|
|
3553
3602
|
})
|
|
3554
3603
|
);
|
|
@@ -3568,7 +3617,7 @@ const GitHubProjectsPanelContent = ({
|
|
|
3568
3617
|
(repo) => {
|
|
3569
3618
|
setSelectedRepo(repo);
|
|
3570
3619
|
events.emit(
|
|
3571
|
-
createPanelEvent(`${PANEL_ID$
|
|
3620
|
+
createPanelEvent$1(`${PANEL_ID$7}:repository-selected`, { repository: repo })
|
|
3572
3621
|
);
|
|
3573
3622
|
},
|
|
3574
3623
|
[events]
|
|
@@ -3591,18 +3640,18 @@ const GitHubProjectsPanelContent = ({
|
|
|
3591
3640
|
}, []);
|
|
3592
3641
|
useEffect(() => {
|
|
3593
3642
|
const unsubscribers = [
|
|
3594
|
-
events.on(`${PANEL_ID$
|
|
3643
|
+
events.on(`${PANEL_ID$7}:filter`, (event) => {
|
|
3595
3644
|
var _a2;
|
|
3596
3645
|
setFilter(((_a2 = event.payload) == null ? void 0 : _a2.filter) || "");
|
|
3597
3646
|
}),
|
|
3598
|
-
events.on(`${PANEL_ID$
|
|
3647
|
+
events.on(`${PANEL_ID$7}:toggle-section`, (event) => {
|
|
3599
3648
|
var _a2;
|
|
3600
3649
|
const owner = (_a2 = event.payload) == null ? void 0 : _a2.owner;
|
|
3601
3650
|
if (owner) {
|
|
3602
3651
|
toggleSection(owner);
|
|
3603
3652
|
}
|
|
3604
3653
|
}),
|
|
3605
|
-
events.on(`${PANEL_ID$
|
|
3654
|
+
events.on(`${PANEL_ID$7}:select-repository`, (event) => {
|
|
3606
3655
|
var _a2;
|
|
3607
3656
|
const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
|
|
3608
3657
|
if (identifier) {
|
|
@@ -3614,7 +3663,7 @@ const GitHubProjectsPanelContent = ({
|
|
|
3614
3663
|
}
|
|
3615
3664
|
}
|
|
3616
3665
|
}),
|
|
3617
|
-
events.on(`${PANEL_ID$
|
|
3666
|
+
events.on(`${PANEL_ID$7}:clone-repository`, (event) => {
|
|
3618
3667
|
var _a2;
|
|
3619
3668
|
const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
|
|
3620
3669
|
if (identifier) {
|
|
@@ -4058,146 +4107,1032 @@ const GitHubProjectsPanelPreview = () => {
|
|
|
4058
4107
|
}
|
|
4059
4108
|
);
|
|
4060
4109
|
};
|
|
4061
|
-
const PANEL_ID$
|
|
4062
|
-
const
|
|
4063
|
-
|
|
4064
|
-
|
|
4065
|
-
|
|
4066
|
-
|
|
4067
|
-
|
|
4068
|
-
|
|
4069
|
-
|
|
4070
|
-
|
|
4071
|
-
|
|
4072
|
-
|
|
4073
|
-
|
|
4074
|
-
},
|
|
4075
|
-
outputs: {
|
|
4076
|
-
type: "object",
|
|
4077
|
-
properties: {
|
|
4078
|
-
success: { type: "boolean" },
|
|
4079
|
-
message: { type: "string" }
|
|
4080
|
-
}
|
|
4081
|
-
},
|
|
4082
|
-
tags: ["filter", "search", "projects"],
|
|
4083
|
-
tool_call_template: {
|
|
4084
|
-
call_template_type: "panel_event",
|
|
4085
|
-
event_type: `${PANEL_ID$4}:filter`
|
|
4086
|
-
}
|
|
4087
|
-
};
|
|
4088
|
-
const selectProjectTool = {
|
|
4089
|
-
name: "select_project",
|
|
4090
|
-
description: "Select a project by name or path to view its details",
|
|
4091
|
-
inputs: {
|
|
4092
|
-
type: "object",
|
|
4093
|
-
properties: {
|
|
4094
|
-
identifier: {
|
|
4095
|
-
type: "string",
|
|
4096
|
-
description: "Project name or full path to select"
|
|
4097
|
-
}
|
|
4098
|
-
},
|
|
4099
|
-
required: ["identifier"]
|
|
4100
|
-
},
|
|
4101
|
-
outputs: {
|
|
4102
|
-
type: "object",
|
|
4103
|
-
properties: {
|
|
4104
|
-
success: { type: "boolean" },
|
|
4105
|
-
selectedProject: { type: "string" }
|
|
4106
|
-
}
|
|
4107
|
-
},
|
|
4108
|
-
tags: ["select", "project", "navigation"],
|
|
4109
|
-
tool_call_template: {
|
|
4110
|
-
call_template_type: "panel_event",
|
|
4111
|
-
event_type: `${PANEL_ID$4}:select-repository`
|
|
4112
|
-
}
|
|
4110
|
+
const PANEL_ID$6 = "industry-theme.user-profile";
|
|
4111
|
+
const createPanelEvent = (type, payload) => ({
|
|
4112
|
+
type,
|
|
4113
|
+
source: PANEL_ID$6,
|
|
4114
|
+
timestamp: Date.now(),
|
|
4115
|
+
payload
|
|
4116
|
+
});
|
|
4117
|
+
const formatDate = (dateString) => {
|
|
4118
|
+
const date = new Date(dateString);
|
|
4119
|
+
return date.toLocaleDateString("en-US", {
|
|
4120
|
+
month: "short",
|
|
4121
|
+
year: "numeric"
|
|
4122
|
+
});
|
|
4113
4123
|
};
|
|
4114
|
-
const
|
|
4115
|
-
|
|
4116
|
-
|
|
4117
|
-
|
|
4118
|
-
|
|
4119
|
-
|
|
4120
|
-
|
|
4121
|
-
|
|
4122
|
-
|
|
4123
|
-
}
|
|
4124
|
-
},
|
|
4125
|
-
required: ["identifier"]
|
|
4126
|
-
},
|
|
4127
|
-
outputs: {
|
|
4128
|
-
type: "object",
|
|
4129
|
-
properties: {
|
|
4130
|
-
success: { type: "boolean" },
|
|
4131
|
-
message: { type: "string" }
|
|
4132
|
-
}
|
|
4133
|
-
},
|
|
4134
|
-
tags: ["open", "project", "workspace"],
|
|
4135
|
-
tool_call_template: {
|
|
4136
|
-
call_template_type: "panel_event",
|
|
4137
|
-
event_type: `${PANEL_ID$4}:open-repository`
|
|
4124
|
+
const getPresenceColor = (status) => {
|
|
4125
|
+
switch (status) {
|
|
4126
|
+
case "online":
|
|
4127
|
+
return "#22c55e";
|
|
4128
|
+
case "away":
|
|
4129
|
+
return "#eab308";
|
|
4130
|
+
case "offline":
|
|
4131
|
+
default:
|
|
4132
|
+
return "#6b7280";
|
|
4138
4133
|
}
|
|
4139
4134
|
};
|
|
4140
|
-
const
|
|
4141
|
-
|
|
4142
|
-
|
|
4143
|
-
|
|
4144
|
-
|
|
4145
|
-
|
|
4146
|
-
|
|
4147
|
-
|
|
4148
|
-
|
|
4149
|
-
|
|
4150
|
-
|
|
4151
|
-
|
|
4152
|
-
|
|
4153
|
-
|
|
4154
|
-
|
|
4155
|
-
|
|
4156
|
-
|
|
4157
|
-
|
|
4158
|
-
|
|
4159
|
-
|
|
4160
|
-
|
|
4161
|
-
|
|
4162
|
-
|
|
4163
|
-
|
|
4164
|
-
|
|
4165
|
-
|
|
4166
|
-
|
|
4167
|
-
|
|
4168
|
-
|
|
4169
|
-
|
|
4135
|
+
const OrganizationCard = ({ organization, onClick }) => {
|
|
4136
|
+
const { theme } = useTheme();
|
|
4137
|
+
const [isHovered, setIsHovered] = useState(false);
|
|
4138
|
+
return /* @__PURE__ */ jsxs(
|
|
4139
|
+
"div",
|
|
4140
|
+
{
|
|
4141
|
+
onClick: () => onClick == null ? void 0 : onClick(organization),
|
|
4142
|
+
onMouseEnter: () => setIsHovered(true),
|
|
4143
|
+
onMouseLeave: () => setIsHovered(false),
|
|
4144
|
+
style: {
|
|
4145
|
+
display: "flex",
|
|
4146
|
+
alignItems: "center",
|
|
4147
|
+
gap: "12px",
|
|
4148
|
+
padding: "12px",
|
|
4149
|
+
borderRadius: "8px",
|
|
4150
|
+
backgroundColor: isHovered ? theme.colors.backgroundTertiary : theme.colors.background,
|
|
4151
|
+
border: `1px solid ${theme.colors.border}`,
|
|
4152
|
+
cursor: onClick ? "pointer" : "default",
|
|
4153
|
+
transition: "all 0.15s ease"
|
|
4154
|
+
},
|
|
4155
|
+
children: [
|
|
4156
|
+
/* @__PURE__ */ jsx(
|
|
4157
|
+
"img",
|
|
4158
|
+
{
|
|
4159
|
+
src: organization.avatar_url,
|
|
4160
|
+
alt: organization.login,
|
|
4161
|
+
style: {
|
|
4162
|
+
width: "40px",
|
|
4163
|
+
height: "40px",
|
|
4164
|
+
borderRadius: "8px",
|
|
4165
|
+
objectFit: "cover"
|
|
4166
|
+
}
|
|
4167
|
+
}
|
|
4168
|
+
),
|
|
4169
|
+
/* @__PURE__ */ jsxs("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
4170
|
+
/* @__PURE__ */ jsx(
|
|
4171
|
+
"div",
|
|
4172
|
+
{
|
|
4173
|
+
style: {
|
|
4174
|
+
fontSize: `${theme.fontSizes[1]}px`,
|
|
4175
|
+
fontWeight: theme.fontWeights.semibold,
|
|
4176
|
+
color: theme.colors.text,
|
|
4177
|
+
fontFamily: theme.fonts.body
|
|
4178
|
+
},
|
|
4179
|
+
children: organization.login
|
|
4180
|
+
}
|
|
4181
|
+
),
|
|
4182
|
+
organization.description && /* @__PURE__ */ jsx(
|
|
4183
|
+
"div",
|
|
4184
|
+
{
|
|
4185
|
+
style: {
|
|
4186
|
+
fontSize: `${theme.fontSizes[0]}px`,
|
|
4187
|
+
color: theme.colors.textSecondary,
|
|
4188
|
+
fontFamily: theme.fonts.body,
|
|
4189
|
+
overflow: "hidden",
|
|
4190
|
+
textOverflow: "ellipsis",
|
|
4191
|
+
whiteSpace: "nowrap"
|
|
4192
|
+
},
|
|
4193
|
+
children: organization.description
|
|
4194
|
+
}
|
|
4195
|
+
)
|
|
4196
|
+
] }),
|
|
4197
|
+
/* @__PURE__ */ jsx(Building2, { size: 16, style: { color: theme.colors.textSecondary } })
|
|
4198
|
+
]
|
|
4170
4199
|
}
|
|
4171
|
-
|
|
4172
|
-
tags: ["workspace", "repository", "select"],
|
|
4173
|
-
tool_call_template: {
|
|
4174
|
-
call_template_type: "panel_event",
|
|
4175
|
-
event_type: `${PANEL_ID$3}:select-repository`
|
|
4176
|
-
}
|
|
4200
|
+
);
|
|
4177
4201
|
};
|
|
4178
|
-
const
|
|
4179
|
-
|
|
4180
|
-
|
|
4181
|
-
|
|
4182
|
-
|
|
4183
|
-
|
|
4184
|
-
|
|
4185
|
-
|
|
4186
|
-
|
|
4187
|
-
|
|
4188
|
-
|
|
4189
|
-
|
|
4190
|
-
|
|
4191
|
-
|
|
4192
|
-
|
|
4193
|
-
|
|
4194
|
-
|
|
4195
|
-
|
|
4196
|
-
|
|
4202
|
+
const RepositoryCard = ({ repository, onClick, onClone, onOpenInBrowser }) => {
|
|
4203
|
+
const { theme } = useTheme();
|
|
4204
|
+
const [isHovered, setIsHovered] = useState(false);
|
|
4205
|
+
return /* @__PURE__ */ jsxs(
|
|
4206
|
+
"div",
|
|
4207
|
+
{
|
|
4208
|
+
onClick: () => onClick == null ? void 0 : onClick(repository),
|
|
4209
|
+
onMouseEnter: () => setIsHovered(true),
|
|
4210
|
+
onMouseLeave: () => setIsHovered(false),
|
|
4211
|
+
style: {
|
|
4212
|
+
display: "flex",
|
|
4213
|
+
flexDirection: "column",
|
|
4214
|
+
gap: "8px",
|
|
4215
|
+
padding: "12px",
|
|
4216
|
+
borderRadius: "8px",
|
|
4217
|
+
backgroundColor: isHovered ? theme.colors.backgroundTertiary : theme.colors.background,
|
|
4218
|
+
border: `1px solid ${theme.colors.border}`,
|
|
4219
|
+
cursor: onClick ? "pointer" : "default",
|
|
4220
|
+
transition: "all 0.15s ease"
|
|
4221
|
+
},
|
|
4222
|
+
children: [
|
|
4223
|
+
/* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "flex-start", gap: "8px" }, children: [
|
|
4224
|
+
/* @__PURE__ */ jsxs("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
4225
|
+
/* @__PURE__ */ jsxs(
|
|
4226
|
+
"div",
|
|
4227
|
+
{
|
|
4228
|
+
style: {
|
|
4229
|
+
display: "flex",
|
|
4230
|
+
alignItems: "center",
|
|
4231
|
+
gap: "6px",
|
|
4232
|
+
fontSize: `${theme.fontSizes[1]}px`,
|
|
4233
|
+
fontWeight: theme.fontWeights.semibold,
|
|
4234
|
+
color: theme.colors.primary,
|
|
4235
|
+
fontFamily: theme.fonts.body
|
|
4236
|
+
},
|
|
4237
|
+
children: [
|
|
4238
|
+
/* @__PURE__ */ jsx("span", { style: { overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: repository.full_name }),
|
|
4239
|
+
repository.fork && /* @__PURE__ */ jsx(GitFork, { size: 12, style: { color: theme.colors.textSecondary, flexShrink: 0 } })
|
|
4240
|
+
]
|
|
4241
|
+
}
|
|
4242
|
+
),
|
|
4243
|
+
repository.description && /* @__PURE__ */ jsx(
|
|
4244
|
+
"div",
|
|
4245
|
+
{
|
|
4246
|
+
style: {
|
|
4247
|
+
fontSize: `${theme.fontSizes[0]}px`,
|
|
4248
|
+
color: theme.colors.textSecondary,
|
|
4249
|
+
fontFamily: theme.fonts.body,
|
|
4250
|
+
marginTop: "4px",
|
|
4251
|
+
display: "-webkit-box",
|
|
4252
|
+
WebkitLineClamp: 2,
|
|
4253
|
+
WebkitBoxOrient: "vertical",
|
|
4254
|
+
overflow: "hidden"
|
|
4255
|
+
},
|
|
4256
|
+
children: repository.description
|
|
4257
|
+
}
|
|
4258
|
+
)
|
|
4259
|
+
] }),
|
|
4260
|
+
isHovered && (onClone || onOpenInBrowser) && /* @__PURE__ */ jsxs("div", { style: { display: "flex", gap: "4px", flexShrink: 0 }, children: [
|
|
4261
|
+
onClone && /* @__PURE__ */ jsx(
|
|
4262
|
+
"button",
|
|
4263
|
+
{
|
|
4264
|
+
onClick: (e) => {
|
|
4265
|
+
e.stopPropagation();
|
|
4266
|
+
onClone(repository);
|
|
4267
|
+
},
|
|
4268
|
+
style: {
|
|
4269
|
+
display: "flex",
|
|
4270
|
+
alignItems: "center",
|
|
4271
|
+
justifyContent: "center",
|
|
4272
|
+
width: "28px",
|
|
4273
|
+
height: "28px",
|
|
4274
|
+
borderRadius: "6px",
|
|
4275
|
+
border: `1px solid ${theme.colors.border}`,
|
|
4276
|
+
backgroundColor: theme.colors.backgroundTertiary,
|
|
4277
|
+
color: theme.colors.text,
|
|
4278
|
+
cursor: "pointer",
|
|
4279
|
+
transition: "all 0.15s ease"
|
|
4280
|
+
},
|
|
4281
|
+
title: "Clone repository",
|
|
4282
|
+
children: /* @__PURE__ */ jsx(Download, { size: 14 })
|
|
4283
|
+
}
|
|
4284
|
+
),
|
|
4285
|
+
onOpenInBrowser && /* @__PURE__ */ jsx(
|
|
4286
|
+
"button",
|
|
4287
|
+
{
|
|
4288
|
+
onClick: (e) => {
|
|
4289
|
+
e.stopPropagation();
|
|
4290
|
+
onOpenInBrowser(repository);
|
|
4291
|
+
},
|
|
4292
|
+
style: {
|
|
4293
|
+
display: "flex",
|
|
4294
|
+
alignItems: "center",
|
|
4295
|
+
justifyContent: "center",
|
|
4296
|
+
width: "28px",
|
|
4297
|
+
height: "28px",
|
|
4298
|
+
borderRadius: "6px",
|
|
4299
|
+
border: `1px solid ${theme.colors.border}`,
|
|
4300
|
+
backgroundColor: theme.colors.backgroundTertiary,
|
|
4301
|
+
color: theme.colors.text,
|
|
4302
|
+
cursor: "pointer",
|
|
4303
|
+
transition: "all 0.15s ease"
|
|
4304
|
+
},
|
|
4305
|
+
title: "Open in browser",
|
|
4306
|
+
children: /* @__PURE__ */ jsx(ExternalLink, { size: 14 })
|
|
4307
|
+
}
|
|
4308
|
+
)
|
|
4309
|
+
] })
|
|
4310
|
+
] }),
|
|
4311
|
+
/* @__PURE__ */ jsxs(
|
|
4312
|
+
"div",
|
|
4313
|
+
{
|
|
4314
|
+
style: {
|
|
4315
|
+
display: "flex",
|
|
4316
|
+
alignItems: "center",
|
|
4317
|
+
gap: "12px",
|
|
4318
|
+
fontSize: `${theme.fontSizes[0]}px`,
|
|
4319
|
+
color: theme.colors.textSecondary,
|
|
4320
|
+
fontFamily: theme.fonts.body
|
|
4321
|
+
},
|
|
4322
|
+
children: [
|
|
4323
|
+
repository.language && /* @__PURE__ */ jsxs("span", { style: { display: "flex", alignItems: "center", gap: "4px" }, children: [
|
|
4324
|
+
/* @__PURE__ */ jsx(
|
|
4325
|
+
"span",
|
|
4326
|
+
{
|
|
4327
|
+
style: {
|
|
4328
|
+
width: "8px",
|
|
4329
|
+
height: "8px",
|
|
4330
|
+
borderRadius: "50%",
|
|
4331
|
+
backgroundColor: theme.colors.primary
|
|
4332
|
+
}
|
|
4333
|
+
}
|
|
4334
|
+
),
|
|
4335
|
+
repository.language
|
|
4336
|
+
] }),
|
|
4337
|
+
repository.stargazers_count !== void 0 && /* @__PURE__ */ jsxs("span", { style: { display: "flex", alignItems: "center", gap: "4px" }, children: [
|
|
4338
|
+
/* @__PURE__ */ jsx(Star, { size: 12 }),
|
|
4339
|
+
repository.stargazers_count.toLocaleString()
|
|
4340
|
+
] })
|
|
4341
|
+
]
|
|
4342
|
+
}
|
|
4343
|
+
)
|
|
4344
|
+
]
|
|
4345
|
+
}
|
|
4346
|
+
);
|
|
4347
|
+
};
|
|
4348
|
+
const UserProfilePanelContent = ({
|
|
4349
|
+
context,
|
|
4350
|
+
actions,
|
|
4351
|
+
events
|
|
4352
|
+
}) => {
|
|
4353
|
+
var _a, _b, _c, _d;
|
|
4354
|
+
const { theme } = useTheme();
|
|
4355
|
+
const [activeView, setActiveView] = useState("organizations");
|
|
4356
|
+
const [searchQuery, setSearchQuery] = useState("");
|
|
4357
|
+
const [showSearchBox, setShowSearchBox] = useState(false);
|
|
4358
|
+
const panelActions = actions;
|
|
4359
|
+
const profileSlice = context.getSlice("userProfile");
|
|
4360
|
+
const user = ((_a = profileSlice == null ? void 0 : profileSlice.data) == null ? void 0 : _a.user) ?? null;
|
|
4361
|
+
const organizations = useMemo(
|
|
4362
|
+
() => {
|
|
4363
|
+
var _a2;
|
|
4364
|
+
return ((_a2 = profileSlice == null ? void 0 : profileSlice.data) == null ? void 0 : _a2.organizations) || [];
|
|
4365
|
+
},
|
|
4366
|
+
[(_b = profileSlice == null ? void 0 : profileSlice.data) == null ? void 0 : _b.organizations]
|
|
4367
|
+
);
|
|
4368
|
+
const starredRepositories = useMemo(
|
|
4369
|
+
() => {
|
|
4370
|
+
var _a2;
|
|
4371
|
+
return ((_a2 = profileSlice == null ? void 0 : profileSlice.data) == null ? void 0 : _a2.starredRepositories) || [];
|
|
4372
|
+
},
|
|
4373
|
+
[(_c = profileSlice == null ? void 0 : profileSlice.data) == null ? void 0 : _c.starredRepositories]
|
|
4374
|
+
);
|
|
4375
|
+
const presence = (_d = profileSlice == null ? void 0 : profileSlice.data) == null ? void 0 : _d.presence;
|
|
4376
|
+
const loading = (profileSlice == null ? void 0 : profileSlice.loading) ?? false;
|
|
4377
|
+
const filteredStarred = useMemo(() => {
|
|
4378
|
+
if (!searchQuery.trim()) return starredRepositories;
|
|
4379
|
+
const query = searchQuery.toLowerCase().trim();
|
|
4380
|
+
return starredRepositories.filter(
|
|
4381
|
+
(repo) => {
|
|
4382
|
+
var _a2, _b2;
|
|
4383
|
+
return repo.name.toLowerCase().includes(query) || repo.full_name.toLowerCase().includes(query) || ((_a2 = repo.description) == null ? void 0 : _a2.toLowerCase().includes(query)) || ((_b2 = repo.language) == null ? void 0 : _b2.toLowerCase().includes(query));
|
|
4384
|
+
}
|
|
4385
|
+
);
|
|
4386
|
+
}, [starredRepositories, searchQuery]);
|
|
4387
|
+
const handleOrganizationSelect = useCallback(
|
|
4388
|
+
(organization) => {
|
|
4389
|
+
var _a2;
|
|
4390
|
+
events.emit(
|
|
4391
|
+
createPanelEvent(`${PANEL_ID$6}:organization:selected`, {
|
|
4392
|
+
orgLogin: organization.login,
|
|
4393
|
+
organization
|
|
4394
|
+
})
|
|
4395
|
+
);
|
|
4396
|
+
(_a2 = panelActions.viewOrganization) == null ? void 0 : _a2.call(panelActions, organization.login);
|
|
4397
|
+
},
|
|
4398
|
+
[events, panelActions]
|
|
4399
|
+
);
|
|
4400
|
+
const handleRepositorySelect = useCallback(
|
|
4401
|
+
(repository) => {
|
|
4402
|
+
var _a2;
|
|
4403
|
+
events.emit(
|
|
4404
|
+
createPanelEvent(`${PANEL_ID$6}:repository:selected`, {
|
|
4405
|
+
owner: repository.owner.login,
|
|
4406
|
+
repo: repository.name,
|
|
4407
|
+
repository
|
|
4408
|
+
})
|
|
4409
|
+
);
|
|
4410
|
+
(_a2 = panelActions.viewRepository) == null ? void 0 : _a2.call(panelActions, repository.owner.login, repository.name);
|
|
4411
|
+
},
|
|
4412
|
+
[events, panelActions]
|
|
4413
|
+
);
|
|
4414
|
+
const handleCloneRepository = useCallback(
|
|
4415
|
+
(repository) => {
|
|
4416
|
+
var _a2;
|
|
4417
|
+
events.emit(
|
|
4418
|
+
createPanelEvent(`${PANEL_ID$6}:repository:clone-requested`, {
|
|
4419
|
+
repository
|
|
4420
|
+
})
|
|
4421
|
+
);
|
|
4422
|
+
(_a2 = panelActions.cloneRepository) == null ? void 0 : _a2.call(panelActions, repository);
|
|
4423
|
+
},
|
|
4424
|
+
[events, panelActions]
|
|
4425
|
+
);
|
|
4426
|
+
const handleOpenInBrowser = useCallback(
|
|
4427
|
+
(repository) => {
|
|
4428
|
+
var _a2;
|
|
4429
|
+
(_a2 = panelActions.openInBrowser) == null ? void 0 : _a2.call(panelActions, repository.html_url);
|
|
4430
|
+
},
|
|
4431
|
+
[panelActions]
|
|
4432
|
+
);
|
|
4433
|
+
const handleViewChange = useCallback(
|
|
4434
|
+
(view) => {
|
|
4435
|
+
setActiveView(view);
|
|
4436
|
+
setSearchQuery("");
|
|
4437
|
+
setShowSearchBox(false);
|
|
4438
|
+
events.emit(createPanelEvent(`${PANEL_ID$6}:view:changed`, { view }));
|
|
4439
|
+
},
|
|
4440
|
+
[events]
|
|
4441
|
+
);
|
|
4442
|
+
useEffect(() => {
|
|
4443
|
+
const unsubscribers = [
|
|
4444
|
+
events.on(`${PANEL_ID$6}:set-view`, (event) => {
|
|
4445
|
+
var _a2;
|
|
4446
|
+
if ((_a2 = event.payload) == null ? void 0 : _a2.view) {
|
|
4447
|
+
handleViewChange(event.payload.view);
|
|
4448
|
+
}
|
|
4449
|
+
}),
|
|
4450
|
+
events.on(`${PANEL_ID$6}:select-organization`, (event) => {
|
|
4451
|
+
var _a2;
|
|
4452
|
+
const orgLogin = (_a2 = event.payload) == null ? void 0 : _a2.orgLogin;
|
|
4453
|
+
if (orgLogin) {
|
|
4454
|
+
const org = organizations.find((o) => o.login === orgLogin);
|
|
4455
|
+
if (org) {
|
|
4456
|
+
handleOrganizationSelect(org);
|
|
4457
|
+
}
|
|
4458
|
+
}
|
|
4459
|
+
}),
|
|
4460
|
+
events.on(`${PANEL_ID$6}:select-repository`, (event) => {
|
|
4461
|
+
const { owner, repo } = event.payload || {};
|
|
4462
|
+
if (owner && repo) {
|
|
4463
|
+
const repository = starredRepositories.find(
|
|
4464
|
+
(r) => r.owner.login === owner && r.name === repo
|
|
4465
|
+
);
|
|
4466
|
+
if (repository) {
|
|
4467
|
+
handleRepositorySelect(repository);
|
|
4468
|
+
}
|
|
4469
|
+
}
|
|
4470
|
+
}),
|
|
4471
|
+
events.on(`${PANEL_ID$6}:clone-repository`, (event) => {
|
|
4472
|
+
const { owner, repo } = event.payload || {};
|
|
4473
|
+
if (owner && repo) {
|
|
4474
|
+
const repository = starredRepositories.find(
|
|
4475
|
+
(r) => r.owner.login === owner && r.name === repo
|
|
4476
|
+
);
|
|
4477
|
+
if (repository) {
|
|
4478
|
+
handleCloneRepository(repository);
|
|
4479
|
+
}
|
|
4480
|
+
}
|
|
4481
|
+
}),
|
|
4482
|
+
events.on(`${PANEL_ID$6}:filter-starred`, (event) => {
|
|
4483
|
+
var _a2;
|
|
4484
|
+
if (((_a2 = event.payload) == null ? void 0 : _a2.filter) !== void 0) {
|
|
4485
|
+
setSearchQuery(event.payload.filter);
|
|
4486
|
+
setShowSearchBox(true);
|
|
4487
|
+
setActiveView("starred");
|
|
4488
|
+
}
|
|
4489
|
+
})
|
|
4490
|
+
];
|
|
4491
|
+
return () => unsubscribers.forEach((unsub) => unsub());
|
|
4492
|
+
}, [
|
|
4493
|
+
events,
|
|
4494
|
+
organizations,
|
|
4495
|
+
starredRepositories,
|
|
4496
|
+
handleViewChange,
|
|
4497
|
+
handleOrganizationSelect,
|
|
4498
|
+
handleRepositorySelect,
|
|
4499
|
+
handleCloneRepository
|
|
4500
|
+
]);
|
|
4501
|
+
const baseContainerStyle = {
|
|
4502
|
+
display: "flex",
|
|
4503
|
+
flexDirection: "column",
|
|
4504
|
+
height: "100%",
|
|
4505
|
+
backgroundColor: theme.colors.backgroundSecondary
|
|
4506
|
+
};
|
|
4507
|
+
if (loading) {
|
|
4508
|
+
return /* @__PURE__ */ jsx("div", { style: baseContainerStyle, children: /* @__PURE__ */ jsx(
|
|
4509
|
+
"div",
|
|
4510
|
+
{
|
|
4511
|
+
style: {
|
|
4512
|
+
flex: 1,
|
|
4513
|
+
display: "flex",
|
|
4514
|
+
alignItems: "center",
|
|
4515
|
+
justifyContent: "center",
|
|
4516
|
+
padding: "32px",
|
|
4517
|
+
textAlign: "center"
|
|
4518
|
+
},
|
|
4519
|
+
children: /* @__PURE__ */ jsx(
|
|
4520
|
+
"div",
|
|
4521
|
+
{
|
|
4522
|
+
style: {
|
|
4523
|
+
display: "flex",
|
|
4524
|
+
flexDirection: "column",
|
|
4525
|
+
alignItems: "center",
|
|
4526
|
+
gap: "16px",
|
|
4527
|
+
maxWidth: "360px"
|
|
4528
|
+
},
|
|
4529
|
+
children: /* @__PURE__ */ jsx(
|
|
4530
|
+
"h3",
|
|
4531
|
+
{
|
|
4532
|
+
style: {
|
|
4533
|
+
margin: 0,
|
|
4534
|
+
color: theme.colors.text,
|
|
4535
|
+
fontSize: `${theme.fontSizes[3]}px`,
|
|
4536
|
+
fontWeight: theme.fontWeights.semibold,
|
|
4537
|
+
fontFamily: theme.fonts.body
|
|
4538
|
+
},
|
|
4539
|
+
children: "Loading profile..."
|
|
4540
|
+
}
|
|
4541
|
+
)
|
|
4542
|
+
}
|
|
4543
|
+
)
|
|
4544
|
+
}
|
|
4545
|
+
) });
|
|
4546
|
+
}
|
|
4547
|
+
if (!user) {
|
|
4548
|
+
return /* @__PURE__ */ jsx("div", { style: baseContainerStyle, children: /* @__PURE__ */ jsx(
|
|
4549
|
+
"div",
|
|
4550
|
+
{
|
|
4551
|
+
style: {
|
|
4552
|
+
flex: 1,
|
|
4553
|
+
display: "flex",
|
|
4554
|
+
alignItems: "center",
|
|
4555
|
+
justifyContent: "center",
|
|
4556
|
+
padding: "32px",
|
|
4557
|
+
textAlign: "center"
|
|
4558
|
+
},
|
|
4559
|
+
children: /* @__PURE__ */ jsxs(
|
|
4560
|
+
"div",
|
|
4561
|
+
{
|
|
4562
|
+
style: {
|
|
4563
|
+
display: "flex",
|
|
4564
|
+
flexDirection: "column",
|
|
4565
|
+
alignItems: "center",
|
|
4566
|
+
gap: "16px",
|
|
4567
|
+
maxWidth: "360px"
|
|
4568
|
+
},
|
|
4569
|
+
children: [
|
|
4570
|
+
/* @__PURE__ */ jsx(User, { size: 48, style: { color: theme.colors.textSecondary } }),
|
|
4571
|
+
/* @__PURE__ */ jsx(
|
|
4572
|
+
"h3",
|
|
4573
|
+
{
|
|
4574
|
+
style: {
|
|
4575
|
+
margin: 0,
|
|
4576
|
+
color: theme.colors.text,
|
|
4577
|
+
fontSize: `${theme.fontSizes[2]}px`,
|
|
4578
|
+
fontWeight: theme.fontWeights.semibold,
|
|
4579
|
+
fontFamily: theme.fonts.body
|
|
4580
|
+
},
|
|
4581
|
+
children: "Select a user"
|
|
4582
|
+
}
|
|
4583
|
+
),
|
|
4584
|
+
/* @__PURE__ */ jsx(
|
|
4585
|
+
"p",
|
|
4586
|
+
{
|
|
4587
|
+
style: {
|
|
4588
|
+
margin: 0,
|
|
4589
|
+
color: theme.colors.textSecondary,
|
|
4590
|
+
fontSize: `${theme.fontSizes[1]}px`,
|
|
4591
|
+
fontFamily: theme.fonts.body
|
|
4592
|
+
},
|
|
4593
|
+
children: "Click on someone in the network to view their profile"
|
|
4594
|
+
}
|
|
4595
|
+
)
|
|
4596
|
+
]
|
|
4597
|
+
}
|
|
4598
|
+
)
|
|
4599
|
+
}
|
|
4600
|
+
) });
|
|
4601
|
+
}
|
|
4602
|
+
return /* @__PURE__ */ jsxs("div", { style: baseContainerStyle, children: [
|
|
4603
|
+
/* @__PURE__ */ jsxs(
|
|
4604
|
+
"div",
|
|
4605
|
+
{
|
|
4606
|
+
style: {
|
|
4607
|
+
padding: "16px",
|
|
4608
|
+
borderBottom: `1px solid ${theme.colors.border}`,
|
|
4609
|
+
backgroundColor: theme.colors.background
|
|
4610
|
+
},
|
|
4611
|
+
children: [
|
|
4612
|
+
/* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "flex-start", gap: "12px" }, children: [
|
|
4613
|
+
/* @__PURE__ */ jsxs("div", { style: { position: "relative" }, children: [
|
|
4614
|
+
/* @__PURE__ */ jsx(
|
|
4615
|
+
"img",
|
|
4616
|
+
{
|
|
4617
|
+
src: user.avatar_url,
|
|
4618
|
+
alt: user.login,
|
|
4619
|
+
style: {
|
|
4620
|
+
width: "64px",
|
|
4621
|
+
height: "64px",
|
|
4622
|
+
borderRadius: "50%",
|
|
4623
|
+
objectFit: "cover"
|
|
4624
|
+
}
|
|
4625
|
+
}
|
|
4626
|
+
),
|
|
4627
|
+
presence && /* @__PURE__ */ jsx(
|
|
4628
|
+
Circle,
|
|
4629
|
+
{
|
|
4630
|
+
size: 14,
|
|
4631
|
+
fill: getPresenceColor(presence.status),
|
|
4632
|
+
style: {
|
|
4633
|
+
position: "absolute",
|
|
4634
|
+
bottom: "2px",
|
|
4635
|
+
right: "2px",
|
|
4636
|
+
color: getPresenceColor(presence.status)
|
|
4637
|
+
}
|
|
4638
|
+
}
|
|
4639
|
+
)
|
|
4640
|
+
] }),
|
|
4641
|
+
/* @__PURE__ */ jsxs("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
4642
|
+
/* @__PURE__ */ jsx(
|
|
4643
|
+
"div",
|
|
4644
|
+
{
|
|
4645
|
+
style: {
|
|
4646
|
+
fontSize: `${theme.fontSizes[3]}px`,
|
|
4647
|
+
fontWeight: theme.fontWeights.bold,
|
|
4648
|
+
color: theme.colors.text,
|
|
4649
|
+
fontFamily: theme.fonts.body
|
|
4650
|
+
},
|
|
4651
|
+
children: user.name || user.login
|
|
4652
|
+
}
|
|
4653
|
+
),
|
|
4654
|
+
/* @__PURE__ */ jsxs(
|
|
4655
|
+
"div",
|
|
4656
|
+
{
|
|
4657
|
+
style: {
|
|
4658
|
+
fontSize: `${theme.fontSizes[1]}px`,
|
|
4659
|
+
color: theme.colors.textSecondary,
|
|
4660
|
+
fontFamily: theme.fonts.body
|
|
4661
|
+
},
|
|
4662
|
+
children: [
|
|
4663
|
+
"@",
|
|
4664
|
+
user.login
|
|
4665
|
+
]
|
|
4666
|
+
}
|
|
4667
|
+
),
|
|
4668
|
+
user.bio && /* @__PURE__ */ jsx(
|
|
4669
|
+
"div",
|
|
4670
|
+
{
|
|
4671
|
+
style: {
|
|
4672
|
+
fontSize: `${theme.fontSizes[1]}px`,
|
|
4673
|
+
color: theme.colors.text,
|
|
4674
|
+
fontFamily: theme.fonts.body,
|
|
4675
|
+
marginTop: "8px"
|
|
4676
|
+
},
|
|
4677
|
+
children: user.bio
|
|
4678
|
+
}
|
|
4679
|
+
)
|
|
4680
|
+
] })
|
|
4681
|
+
] }),
|
|
4682
|
+
/* @__PURE__ */ jsxs(
|
|
4683
|
+
"div",
|
|
4684
|
+
{
|
|
4685
|
+
style: {
|
|
4686
|
+
display: "flex",
|
|
4687
|
+
flexWrap: "wrap",
|
|
4688
|
+
gap: "12px",
|
|
4689
|
+
marginTop: "12px",
|
|
4690
|
+
fontSize: `${theme.fontSizes[0]}px`,
|
|
4691
|
+
color: theme.colors.textSecondary,
|
|
4692
|
+
fontFamily: theme.fonts.body
|
|
4693
|
+
},
|
|
4694
|
+
children: [
|
|
4695
|
+
user.location && /* @__PURE__ */ jsxs("span", { style: { display: "flex", alignItems: "center", gap: "4px" }, children: [
|
|
4696
|
+
/* @__PURE__ */ jsx(MapPin, { size: 12 }),
|
|
4697
|
+
user.location
|
|
4698
|
+
] }),
|
|
4699
|
+
user.email && /* @__PURE__ */ jsxs("span", { style: { display: "flex", alignItems: "center", gap: "4px" }, children: [
|
|
4700
|
+
/* @__PURE__ */ jsx(Mail, { size: 12 }),
|
|
4701
|
+
user.email
|
|
4702
|
+
] }),
|
|
4703
|
+
user.company && /* @__PURE__ */ jsxs("span", { style: { display: "flex", alignItems: "center", gap: "4px" }, children: [
|
|
4704
|
+
/* @__PURE__ */ jsx(Building2, { size: 12 }),
|
|
4705
|
+
user.company
|
|
4706
|
+
] }),
|
|
4707
|
+
/* @__PURE__ */ jsxs("span", { style: { display: "flex", alignItems: "center", gap: "4px" }, children: [
|
|
4708
|
+
/* @__PURE__ */ jsx(Calendar, { size: 12 }),
|
|
4709
|
+
"Joined ",
|
|
4710
|
+
formatDate(user.created_at)
|
|
4711
|
+
] })
|
|
4712
|
+
]
|
|
4713
|
+
}
|
|
4714
|
+
),
|
|
4715
|
+
/* @__PURE__ */ jsxs(
|
|
4716
|
+
"div",
|
|
4717
|
+
{
|
|
4718
|
+
style: {
|
|
4719
|
+
display: "flex",
|
|
4720
|
+
gap: "16px",
|
|
4721
|
+
marginTop: "12px",
|
|
4722
|
+
fontSize: `${theme.fontSizes[1]}px`,
|
|
4723
|
+
fontFamily: theme.fonts.body
|
|
4724
|
+
},
|
|
4725
|
+
children: [
|
|
4726
|
+
/* @__PURE__ */ jsxs("span", { children: [
|
|
4727
|
+
/* @__PURE__ */ jsx("strong", { style: { color: theme.colors.text }, children: user.followers }),
|
|
4728
|
+
" ",
|
|
4729
|
+
/* @__PURE__ */ jsx("span", { style: { color: theme.colors.textSecondary }, children: "followers" })
|
|
4730
|
+
] }),
|
|
4731
|
+
/* @__PURE__ */ jsxs("span", { children: [
|
|
4732
|
+
/* @__PURE__ */ jsx("strong", { style: { color: theme.colors.text }, children: user.following }),
|
|
4733
|
+
" ",
|
|
4734
|
+
/* @__PURE__ */ jsx("span", { style: { color: theme.colors.textSecondary }, children: "following" })
|
|
4735
|
+
] }),
|
|
4736
|
+
/* @__PURE__ */ jsxs("span", { children: [
|
|
4737
|
+
/* @__PURE__ */ jsx("strong", { style: { color: theme.colors.text }, children: user.public_repos }),
|
|
4738
|
+
" ",
|
|
4739
|
+
/* @__PURE__ */ jsx("span", { style: { color: theme.colors.textSecondary }, children: "repos" })
|
|
4740
|
+
] })
|
|
4741
|
+
]
|
|
4742
|
+
}
|
|
4743
|
+
)
|
|
4744
|
+
]
|
|
4745
|
+
}
|
|
4746
|
+
),
|
|
4747
|
+
/* @__PURE__ */ jsxs(
|
|
4748
|
+
"div",
|
|
4749
|
+
{
|
|
4750
|
+
style: {
|
|
4751
|
+
display: "flex",
|
|
4752
|
+
borderBottom: `1px solid ${theme.colors.border}`,
|
|
4753
|
+
backgroundColor: theme.colors.background
|
|
4754
|
+
},
|
|
4755
|
+
children: [
|
|
4756
|
+
/* @__PURE__ */ jsxs(
|
|
4757
|
+
"button",
|
|
4758
|
+
{
|
|
4759
|
+
onClick: () => handleViewChange("organizations"),
|
|
4760
|
+
style: {
|
|
4761
|
+
flex: 1,
|
|
4762
|
+
display: "flex",
|
|
4763
|
+
alignItems: "center",
|
|
4764
|
+
justifyContent: "center",
|
|
4765
|
+
gap: "6px",
|
|
4766
|
+
padding: "12px",
|
|
4767
|
+
border: "none",
|
|
4768
|
+
backgroundColor: "transparent",
|
|
4769
|
+
color: activeView === "organizations" ? theme.colors.primary : theme.colors.textSecondary,
|
|
4770
|
+
fontSize: `${theme.fontSizes[1]}px`,
|
|
4771
|
+
fontWeight: activeView === "organizations" ? theme.fontWeights.semibold : theme.fontWeights.medium,
|
|
4772
|
+
fontFamily: theme.fonts.body,
|
|
4773
|
+
cursor: "pointer",
|
|
4774
|
+
borderBottom: activeView === "organizations" ? `2px solid ${theme.colors.primary}` : "2px solid transparent",
|
|
4775
|
+
transition: "all 0.15s ease"
|
|
4776
|
+
},
|
|
4777
|
+
children: [
|
|
4778
|
+
/* @__PURE__ */ jsx(Building2, { size: 16 }),
|
|
4779
|
+
"Organizations (",
|
|
4780
|
+
organizations.length,
|
|
4781
|
+
")"
|
|
4782
|
+
]
|
|
4783
|
+
}
|
|
4784
|
+
),
|
|
4785
|
+
/* @__PURE__ */ jsxs(
|
|
4786
|
+
"button",
|
|
4787
|
+
{
|
|
4788
|
+
onClick: () => handleViewChange("starred"),
|
|
4789
|
+
style: {
|
|
4790
|
+
flex: 1,
|
|
4791
|
+
display: "flex",
|
|
4792
|
+
alignItems: "center",
|
|
4793
|
+
justifyContent: "center",
|
|
4794
|
+
gap: "6px",
|
|
4795
|
+
padding: "12px",
|
|
4796
|
+
border: "none",
|
|
4797
|
+
backgroundColor: "transparent",
|
|
4798
|
+
color: activeView === "starred" ? theme.colors.primary : theme.colors.textSecondary,
|
|
4799
|
+
fontSize: `${theme.fontSizes[1]}px`,
|
|
4800
|
+
fontWeight: activeView === "starred" ? theme.fontWeights.semibold : theme.fontWeights.medium,
|
|
4801
|
+
fontFamily: theme.fonts.body,
|
|
4802
|
+
cursor: "pointer",
|
|
4803
|
+
borderBottom: activeView === "starred" ? `2px solid ${theme.colors.primary}` : "2px solid transparent",
|
|
4804
|
+
transition: "all 0.15s ease"
|
|
4805
|
+
},
|
|
4806
|
+
children: [
|
|
4807
|
+
/* @__PURE__ */ jsx(Star, { size: 16 }),
|
|
4808
|
+
"Starred (",
|
|
4809
|
+
starredRepositories.length,
|
|
4810
|
+
")"
|
|
4811
|
+
]
|
|
4812
|
+
}
|
|
4813
|
+
)
|
|
4814
|
+
]
|
|
4815
|
+
}
|
|
4816
|
+
),
|
|
4817
|
+
activeView === "starred" && /* @__PURE__ */ jsx(
|
|
4818
|
+
"div",
|
|
4819
|
+
{
|
|
4820
|
+
style: {
|
|
4821
|
+
padding: "12px 16px",
|
|
4822
|
+
borderBottom: `1px solid ${theme.colors.border}`,
|
|
4823
|
+
backgroundColor: theme.colors.background
|
|
4824
|
+
},
|
|
4825
|
+
children: /* @__PURE__ */ jsx("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: /* @__PURE__ */ jsxs(
|
|
4826
|
+
"div",
|
|
4827
|
+
{
|
|
4828
|
+
style: {
|
|
4829
|
+
flex: 1,
|
|
4830
|
+
display: "flex",
|
|
4831
|
+
alignItems: "center",
|
|
4832
|
+
gap: "8px",
|
|
4833
|
+
padding: "8px 12px",
|
|
4834
|
+
borderRadius: "6px",
|
|
4835
|
+
border: `1px solid ${theme.colors.border}`,
|
|
4836
|
+
backgroundColor: theme.colors.backgroundSecondary
|
|
4837
|
+
},
|
|
4838
|
+
children: [
|
|
4839
|
+
/* @__PURE__ */ jsx(Search, { size: 16, style: { color: theme.colors.textSecondary } }),
|
|
4840
|
+
/* @__PURE__ */ jsx(
|
|
4841
|
+
"input",
|
|
4842
|
+
{
|
|
4843
|
+
type: "text",
|
|
4844
|
+
value: searchQuery,
|
|
4845
|
+
onChange: (e) => setSearchQuery(e.target.value),
|
|
4846
|
+
placeholder: "Filter starred repositories...",
|
|
4847
|
+
style: {
|
|
4848
|
+
flex: 1,
|
|
4849
|
+
border: "none",
|
|
4850
|
+
backgroundColor: "transparent",
|
|
4851
|
+
color: theme.colors.text,
|
|
4852
|
+
fontSize: `${theme.fontSizes[1]}px`,
|
|
4853
|
+
fontFamily: theme.fonts.body,
|
|
4854
|
+
outline: "none"
|
|
4855
|
+
}
|
|
4856
|
+
}
|
|
4857
|
+
),
|
|
4858
|
+
searchQuery && /* @__PURE__ */ jsx(
|
|
4859
|
+
"button",
|
|
4860
|
+
{
|
|
4861
|
+
onClick: () => setSearchQuery(""),
|
|
4862
|
+
style: {
|
|
4863
|
+
display: "flex",
|
|
4864
|
+
alignItems: "center",
|
|
4865
|
+
justifyContent: "center",
|
|
4866
|
+
padding: "2px",
|
|
4867
|
+
border: "none",
|
|
4868
|
+
backgroundColor: "transparent",
|
|
4869
|
+
color: theme.colors.textSecondary,
|
|
4870
|
+
cursor: "pointer"
|
|
4871
|
+
},
|
|
4872
|
+
children: /* @__PURE__ */ jsx(X, { size: 14 })
|
|
4873
|
+
}
|
|
4874
|
+
)
|
|
4875
|
+
]
|
|
4876
|
+
}
|
|
4877
|
+
) })
|
|
4878
|
+
}
|
|
4879
|
+
),
|
|
4880
|
+
/* @__PURE__ */ jsxs(
|
|
4881
|
+
"div",
|
|
4882
|
+
{
|
|
4883
|
+
style: {
|
|
4884
|
+
flex: 1,
|
|
4885
|
+
overflowY: "auto",
|
|
4886
|
+
padding: "16px",
|
|
4887
|
+
display: "flex",
|
|
4888
|
+
flexDirection: "column",
|
|
4889
|
+
gap: "8px"
|
|
4890
|
+
},
|
|
4891
|
+
children: [
|
|
4892
|
+
activeView === "organizations" && /* @__PURE__ */ jsx(Fragment, { children: organizations.length === 0 ? /* @__PURE__ */ jsxs(
|
|
4893
|
+
"div",
|
|
4894
|
+
{
|
|
4895
|
+
style: {
|
|
4896
|
+
padding: "32px",
|
|
4897
|
+
textAlign: "center",
|
|
4898
|
+
color: theme.colors.textSecondary
|
|
4899
|
+
},
|
|
4900
|
+
children: [
|
|
4901
|
+
/* @__PURE__ */ jsx(
|
|
4902
|
+
Building2,
|
|
4903
|
+
{
|
|
4904
|
+
size: 32,
|
|
4905
|
+
style: { marginBottom: "12px", opacity: 0.5 }
|
|
4906
|
+
}
|
|
4907
|
+
),
|
|
4908
|
+
/* @__PURE__ */ jsx("p", { style: { margin: 0 }, children: "No organizations" })
|
|
4909
|
+
]
|
|
4910
|
+
}
|
|
4911
|
+
) : organizations.map((org) => /* @__PURE__ */ jsx(
|
|
4912
|
+
OrganizationCard,
|
|
4913
|
+
{
|
|
4914
|
+
organization: org,
|
|
4915
|
+
onClick: handleOrganizationSelect
|
|
4916
|
+
},
|
|
4917
|
+
org.id
|
|
4918
|
+
)) }),
|
|
4919
|
+
activeView === "starred" && /* @__PURE__ */ jsx(Fragment, { children: filteredStarred.length === 0 ? /* @__PURE__ */ jsxs(
|
|
4920
|
+
"div",
|
|
4921
|
+
{
|
|
4922
|
+
style: {
|
|
4923
|
+
padding: "32px",
|
|
4924
|
+
textAlign: "center",
|
|
4925
|
+
color: theme.colors.textSecondary
|
|
4926
|
+
},
|
|
4927
|
+
children: [
|
|
4928
|
+
/* @__PURE__ */ jsx(Star, { size: 32, style: { marginBottom: "12px", opacity: 0.5 } }),
|
|
4929
|
+
/* @__PURE__ */ jsx("p", { style: { margin: 0 }, children: searchQuery ? `No repositories matching "${searchQuery}"` : "No starred repositories" })
|
|
4930
|
+
]
|
|
4931
|
+
}
|
|
4932
|
+
) : filteredStarred.map((repo) => /* @__PURE__ */ jsx(
|
|
4933
|
+
RepositoryCard,
|
|
4934
|
+
{
|
|
4935
|
+
repository: repo,
|
|
4936
|
+
onClick: handleRepositorySelect,
|
|
4937
|
+
onClone: panelActions.cloneRepository ? handleCloneRepository : void 0,
|
|
4938
|
+
onOpenInBrowser: panelActions.openInBrowser ? handleOpenInBrowser : void 0
|
|
4939
|
+
},
|
|
4940
|
+
repo.id
|
|
4941
|
+
)) })
|
|
4942
|
+
]
|
|
4943
|
+
}
|
|
4944
|
+
)
|
|
4945
|
+
] });
|
|
4946
|
+
};
|
|
4947
|
+
const UserProfilePanel = (props) => {
|
|
4948
|
+
return /* @__PURE__ */ jsx(UserProfilePanelContent, { ...props });
|
|
4949
|
+
};
|
|
4950
|
+
const UserProfilePanelPreview = () => {
|
|
4951
|
+
const { theme } = useTheme();
|
|
4952
|
+
return /* @__PURE__ */ jsxs(
|
|
4953
|
+
"div",
|
|
4954
|
+
{
|
|
4955
|
+
style: {
|
|
4956
|
+
padding: "12px",
|
|
4957
|
+
fontSize: `${theme.fontSizes[0]}px`,
|
|
4958
|
+
fontFamily: theme.fonts.body,
|
|
4959
|
+
color: theme.colors.text,
|
|
4960
|
+
display: "flex",
|
|
4961
|
+
flexDirection: "column",
|
|
4962
|
+
gap: "8px"
|
|
4963
|
+
},
|
|
4964
|
+
children: [
|
|
4965
|
+
/* @__PURE__ */ jsxs(
|
|
4966
|
+
"div",
|
|
4967
|
+
{
|
|
4968
|
+
style: {
|
|
4969
|
+
display: "flex",
|
|
4970
|
+
alignItems: "center",
|
|
4971
|
+
gap: "6px",
|
|
4972
|
+
fontWeight: theme.fontWeights.semibold
|
|
4973
|
+
},
|
|
4974
|
+
children: [
|
|
4975
|
+
/* @__PURE__ */ jsx(User, { size: 16, style: { color: theme.colors.primary } }),
|
|
4976
|
+
/* @__PURE__ */ jsx("span", { children: "User Profile" })
|
|
4977
|
+
]
|
|
4978
|
+
}
|
|
4979
|
+
),
|
|
4980
|
+
/* @__PURE__ */ jsx(
|
|
4981
|
+
"div",
|
|
4982
|
+
{
|
|
4983
|
+
style: {
|
|
4984
|
+
fontSize: `${theme.fontSizes[0]}px`,
|
|
4985
|
+
fontFamily: theme.fonts.body,
|
|
4986
|
+
color: theme.colors.textSecondary,
|
|
4987
|
+
marginTop: "4px"
|
|
4988
|
+
},
|
|
4989
|
+
children: "View user organizations and starred repos"
|
|
4990
|
+
}
|
|
4991
|
+
)
|
|
4992
|
+
]
|
|
4993
|
+
}
|
|
4994
|
+
);
|
|
4995
|
+
};
|
|
4996
|
+
const PANEL_ID$5 = "industry-theme.local-projects";
|
|
4997
|
+
const filterProjectsTool$1 = {
|
|
4998
|
+
name: "filter_projects",
|
|
4999
|
+
description: "Filter the local projects list by name, owner, or path",
|
|
5000
|
+
inputs: {
|
|
5001
|
+
type: "object",
|
|
5002
|
+
properties: {
|
|
5003
|
+
filter: {
|
|
5004
|
+
type: "string",
|
|
5005
|
+
description: "Search term to filter projects (matches name, owner, or path)"
|
|
5006
|
+
}
|
|
5007
|
+
},
|
|
5008
|
+
required: ["filter"]
|
|
5009
|
+
},
|
|
5010
|
+
outputs: {
|
|
5011
|
+
type: "object",
|
|
5012
|
+
properties: {
|
|
5013
|
+
success: { type: "boolean" },
|
|
5014
|
+
message: { type: "string" }
|
|
5015
|
+
}
|
|
5016
|
+
},
|
|
5017
|
+
tags: ["filter", "search", "projects"],
|
|
5018
|
+
tool_call_template: {
|
|
5019
|
+
call_template_type: "panel_event",
|
|
5020
|
+
event_type: `${PANEL_ID$5}:filter`
|
|
5021
|
+
}
|
|
5022
|
+
};
|
|
5023
|
+
const selectProjectTool = {
|
|
5024
|
+
name: "select_project",
|
|
5025
|
+
description: "Select a project by name or path to view its details",
|
|
5026
|
+
inputs: {
|
|
5027
|
+
type: "object",
|
|
5028
|
+
properties: {
|
|
5029
|
+
identifier: {
|
|
5030
|
+
type: "string",
|
|
5031
|
+
description: "Project name or full path to select"
|
|
5032
|
+
}
|
|
5033
|
+
},
|
|
5034
|
+
required: ["identifier"]
|
|
5035
|
+
},
|
|
5036
|
+
outputs: {
|
|
5037
|
+
type: "object",
|
|
5038
|
+
properties: {
|
|
5039
|
+
success: { type: "boolean" },
|
|
5040
|
+
selectedProject: { type: "string" }
|
|
5041
|
+
}
|
|
5042
|
+
},
|
|
5043
|
+
tags: ["select", "project", "navigation"],
|
|
5044
|
+
tool_call_template: {
|
|
5045
|
+
call_template_type: "panel_event",
|
|
5046
|
+
event_type: `${PANEL_ID$5}:select-repository`
|
|
5047
|
+
}
|
|
5048
|
+
};
|
|
5049
|
+
const openProjectTool = {
|
|
5050
|
+
name: "open_project",
|
|
5051
|
+
description: "Open a local project in the development workspace",
|
|
5052
|
+
inputs: {
|
|
5053
|
+
type: "object",
|
|
5054
|
+
properties: {
|
|
5055
|
+
identifier: {
|
|
5056
|
+
type: "string",
|
|
5057
|
+
description: "Project name or full path to open"
|
|
5058
|
+
}
|
|
5059
|
+
},
|
|
5060
|
+
required: ["identifier"]
|
|
5061
|
+
},
|
|
5062
|
+
outputs: {
|
|
5063
|
+
type: "object",
|
|
5064
|
+
properties: {
|
|
5065
|
+
success: { type: "boolean" },
|
|
5066
|
+
message: { type: "string" }
|
|
5067
|
+
}
|
|
5068
|
+
},
|
|
5069
|
+
tags: ["open", "project", "workspace"],
|
|
5070
|
+
tool_call_template: {
|
|
5071
|
+
call_template_type: "panel_event",
|
|
5072
|
+
event_type: `${PANEL_ID$5}:open-repository`
|
|
5073
|
+
}
|
|
5074
|
+
};
|
|
5075
|
+
const localProjectsPanelTools = [
|
|
5076
|
+
filterProjectsTool$1,
|
|
5077
|
+
selectProjectTool,
|
|
5078
|
+
openProjectTool
|
|
5079
|
+
];
|
|
5080
|
+
const localProjectsPanelToolsMetadata = {
|
|
5081
|
+
id: PANEL_ID$5,
|
|
5082
|
+
name: "Local Projects Panel",
|
|
5083
|
+
description: "Tools for browsing and managing local Alexandria repositories",
|
|
5084
|
+
tools: localProjectsPanelTools
|
|
5085
|
+
};
|
|
5086
|
+
const PANEL_ID$4 = "industry-theme.workspace-repositories";
|
|
5087
|
+
const selectRepositoryTool$1 = {
|
|
5088
|
+
name: "select_workspace_repository",
|
|
5089
|
+
description: "Selects a repository in the workspace panel",
|
|
5090
|
+
inputs: {
|
|
5091
|
+
type: "object",
|
|
5092
|
+
properties: {
|
|
5093
|
+
repositoryPath: {
|
|
5094
|
+
type: "string",
|
|
5095
|
+
description: "Path to the repository to select"
|
|
5096
|
+
}
|
|
5097
|
+
},
|
|
5098
|
+
required: ["repositoryPath"]
|
|
5099
|
+
},
|
|
5100
|
+
outputs: {
|
|
5101
|
+
type: "object",
|
|
5102
|
+
properties: {
|
|
5103
|
+
success: { type: "boolean" },
|
|
5104
|
+
message: { type: "string" }
|
|
5105
|
+
}
|
|
5106
|
+
},
|
|
5107
|
+
tags: ["workspace", "repository", "select"],
|
|
5108
|
+
tool_call_template: {
|
|
5109
|
+
call_template_type: "panel_event",
|
|
5110
|
+
event_type: `${PANEL_ID$4}:select-repository`
|
|
5111
|
+
}
|
|
5112
|
+
};
|
|
5113
|
+
const refreshWorkspaceTool = {
|
|
5114
|
+
name: "refresh_workspace",
|
|
5115
|
+
description: "Refreshes the workspace repositories list",
|
|
5116
|
+
inputs: {
|
|
5117
|
+
type: "object",
|
|
5118
|
+
properties: {
|
|
5119
|
+
force: {
|
|
5120
|
+
type: "boolean",
|
|
5121
|
+
description: "Force refresh even if data is fresh"
|
|
5122
|
+
}
|
|
5123
|
+
}
|
|
5124
|
+
},
|
|
5125
|
+
outputs: {
|
|
5126
|
+
type: "object",
|
|
5127
|
+
properties: {
|
|
5128
|
+
success: { type: "boolean" },
|
|
5129
|
+
repositoryCount: { type: "number" }
|
|
5130
|
+
}
|
|
5131
|
+
},
|
|
4197
5132
|
tags: ["workspace", "refresh"],
|
|
4198
5133
|
tool_call_template: {
|
|
4199
5134
|
call_template_type: "panel_event",
|
|
4200
|
-
event_type: `${PANEL_ID$
|
|
5135
|
+
event_type: `${PANEL_ID$4}:refresh-workspace`
|
|
4201
5136
|
}
|
|
4202
5137
|
};
|
|
4203
5138
|
const openRepositoryTool = {
|
|
@@ -4223,21 +5158,21 @@ const openRepositoryTool = {
|
|
|
4223
5158
|
tags: ["workspace", "repository", "open"],
|
|
4224
5159
|
tool_call_template: {
|
|
4225
5160
|
call_template_type: "panel_event",
|
|
4226
|
-
event_type: `${PANEL_ID$
|
|
5161
|
+
event_type: `${PANEL_ID$4}:open-repository`
|
|
4227
5162
|
}
|
|
4228
5163
|
};
|
|
4229
5164
|
const workspaceRepositoriesPanelTools = [
|
|
4230
|
-
selectRepositoryTool,
|
|
5165
|
+
selectRepositoryTool$1,
|
|
4231
5166
|
refreshWorkspaceTool,
|
|
4232
5167
|
openRepositoryTool
|
|
4233
5168
|
];
|
|
4234
5169
|
const workspaceRepositoriesPanelToolsMetadata = {
|
|
4235
|
-
id: PANEL_ID$
|
|
5170
|
+
id: PANEL_ID$4,
|
|
4236
5171
|
name: "Workspace Repositories Panel",
|
|
4237
5172
|
description: "Tools provided by the workspace repositories panel",
|
|
4238
5173
|
tools: workspaceRepositoriesPanelTools
|
|
4239
5174
|
};
|
|
4240
|
-
const PANEL_ID$
|
|
5175
|
+
const PANEL_ID$3 = "industry-theme.workspaces-list";
|
|
4241
5176
|
const filterWorkspacesTool = {
|
|
4242
5177
|
name: "filter_workspaces",
|
|
4243
5178
|
description: "Filter the workspaces list by workspace name, description, or repository names within workspaces",
|
|
@@ -4261,7 +5196,7 @@ const filterWorkspacesTool = {
|
|
|
4261
5196
|
tags: ["filter", "search", "workspaces"],
|
|
4262
5197
|
tool_call_template: {
|
|
4263
5198
|
call_template_type: "panel_event",
|
|
4264
|
-
event_type: `${PANEL_ID$
|
|
5199
|
+
event_type: `${PANEL_ID$3}:filter`
|
|
4265
5200
|
}
|
|
4266
5201
|
};
|
|
4267
5202
|
const selectWorkspaceTool = {
|
|
@@ -4287,7 +5222,7 @@ const selectWorkspaceTool = {
|
|
|
4287
5222
|
tags: ["select", "workspace", "navigation"],
|
|
4288
5223
|
tool_call_template: {
|
|
4289
5224
|
call_template_type: "panel_event",
|
|
4290
|
-
event_type: `${PANEL_ID$
|
|
5225
|
+
event_type: `${PANEL_ID$3}:select-workspace`
|
|
4291
5226
|
}
|
|
4292
5227
|
};
|
|
4293
5228
|
const openWorkspaceTool = {
|
|
@@ -4313,7 +5248,7 @@ const openWorkspaceTool = {
|
|
|
4313
5248
|
tags: ["open", "workspace", "window"],
|
|
4314
5249
|
tool_call_template: {
|
|
4315
5250
|
call_template_type: "panel_event",
|
|
4316
|
-
event_type: `${PANEL_ID$
|
|
5251
|
+
event_type: `${PANEL_ID$3}:open-workspace`
|
|
4317
5252
|
}
|
|
4318
5253
|
};
|
|
4319
5254
|
const createWorkspaceTool = {
|
|
@@ -4344,7 +5279,7 @@ const createWorkspaceTool = {
|
|
|
4344
5279
|
tags: ["create", "workspace", "new"],
|
|
4345
5280
|
tool_call_template: {
|
|
4346
5281
|
call_template_type: "panel_event",
|
|
4347
|
-
event_type: `${PANEL_ID$
|
|
5282
|
+
event_type: `${PANEL_ID$3}:create-workspace`
|
|
4348
5283
|
}
|
|
4349
5284
|
};
|
|
4350
5285
|
const workspacesListPanelTools = [
|
|
@@ -4354,13 +5289,13 @@ const workspacesListPanelTools = [
|
|
|
4354
5289
|
createWorkspaceTool
|
|
4355
5290
|
];
|
|
4356
5291
|
const workspacesListPanelToolsMetadata = {
|
|
4357
|
-
id: PANEL_ID$
|
|
5292
|
+
id: PANEL_ID$3,
|
|
4358
5293
|
name: "Workspaces List Panel",
|
|
4359
5294
|
description: "Tools for browsing and managing workspaces",
|
|
4360
5295
|
tools: workspacesListPanelTools
|
|
4361
5296
|
};
|
|
4362
|
-
const PANEL_ID$
|
|
4363
|
-
const filterStarredTool = {
|
|
5297
|
+
const PANEL_ID$2 = "industry-theme.github-starred";
|
|
5298
|
+
const filterStarredTool$1 = {
|
|
4364
5299
|
name: "filter_starred_repositories",
|
|
4365
5300
|
description: "Filter the starred repositories list by repository name, owner, language, or description",
|
|
4366
5301
|
inputs: {
|
|
@@ -4383,7 +5318,7 @@ const filterStarredTool = {
|
|
|
4383
5318
|
tags: ["filter", "search", "starred", "github"],
|
|
4384
5319
|
tool_call_template: {
|
|
4385
5320
|
call_template_type: "panel_event",
|
|
4386
|
-
event_type: `${PANEL_ID$
|
|
5321
|
+
event_type: `${PANEL_ID$2}:filter`
|
|
4387
5322
|
}
|
|
4388
5323
|
};
|
|
4389
5324
|
const selectStarredRepositoryTool = {
|
|
@@ -4413,7 +5348,7 @@ const selectStarredRepositoryTool = {
|
|
|
4413
5348
|
tags: ["select", "starred", "github", "repository"],
|
|
4414
5349
|
tool_call_template: {
|
|
4415
5350
|
call_template_type: "panel_event",
|
|
4416
|
-
event_type: `${PANEL_ID$
|
|
5351
|
+
event_type: `${PANEL_ID$2}:select-repository`
|
|
4417
5352
|
}
|
|
4418
5353
|
};
|
|
4419
5354
|
const cloneStarredRepositoryTool = {
|
|
@@ -4443,21 +5378,21 @@ const cloneStarredRepositoryTool = {
|
|
|
4443
5378
|
tags: ["clone", "starred", "github", "repository"],
|
|
4444
5379
|
tool_call_template: {
|
|
4445
5380
|
call_template_type: "panel_event",
|
|
4446
|
-
event_type: `${PANEL_ID$
|
|
5381
|
+
event_type: `${PANEL_ID$2}:clone-repository`
|
|
4447
5382
|
}
|
|
4448
5383
|
};
|
|
4449
5384
|
const githubStarredPanelTools = [
|
|
4450
|
-
filterStarredTool,
|
|
5385
|
+
filterStarredTool$1,
|
|
4451
5386
|
selectStarredRepositoryTool,
|
|
4452
5387
|
cloneStarredRepositoryTool
|
|
4453
5388
|
];
|
|
4454
5389
|
const githubStarredPanelToolsMetadata = {
|
|
4455
|
-
id: PANEL_ID$
|
|
5390
|
+
id: PANEL_ID$2,
|
|
4456
5391
|
name: "GitHub Starred Panel",
|
|
4457
5392
|
description: "Tools for browsing and managing starred GitHub repositories",
|
|
4458
5393
|
tools: githubStarredPanelTools
|
|
4459
5394
|
};
|
|
4460
|
-
const PANEL_ID = "industry-theme.github-projects";
|
|
5395
|
+
const PANEL_ID$1 = "industry-theme.github-projects";
|
|
4461
5396
|
const filterProjectsTool = {
|
|
4462
5397
|
name: "filter_github_projects",
|
|
4463
5398
|
description: "Filter the GitHub projects list by repository name, owner, language, or description",
|
|
@@ -4481,7 +5416,7 @@ const filterProjectsTool = {
|
|
|
4481
5416
|
tags: ["filter", "search", "projects", "github"],
|
|
4482
5417
|
tool_call_template: {
|
|
4483
5418
|
call_template_type: "panel_event",
|
|
4484
|
-
event_type: `${PANEL_ID}:filter`
|
|
5419
|
+
event_type: `${PANEL_ID$1}:filter`
|
|
4485
5420
|
}
|
|
4486
5421
|
};
|
|
4487
5422
|
const toggleOwnerSectionTool = {
|
|
@@ -4508,7 +5443,7 @@ const toggleOwnerSectionTool = {
|
|
|
4508
5443
|
tags: ["toggle", "section", "projects", "github"],
|
|
4509
5444
|
tool_call_template: {
|
|
4510
5445
|
call_template_type: "panel_event",
|
|
4511
|
-
event_type: `${PANEL_ID}:toggle-section`
|
|
5446
|
+
event_type: `${PANEL_ID$1}:toggle-section`
|
|
4512
5447
|
}
|
|
4513
5448
|
};
|
|
4514
5449
|
const selectProjectRepositoryTool = {
|
|
@@ -4538,7 +5473,7 @@ const selectProjectRepositoryTool = {
|
|
|
4538
5473
|
tags: ["select", "projects", "github", "repository"],
|
|
4539
5474
|
tool_call_template: {
|
|
4540
5475
|
call_template_type: "panel_event",
|
|
4541
|
-
event_type: `${PANEL_ID}:select-repository`
|
|
5476
|
+
event_type: `${PANEL_ID$1}:select-repository`
|
|
4542
5477
|
}
|
|
4543
5478
|
};
|
|
4544
5479
|
const cloneProjectRepositoryTool = {
|
|
@@ -4568,7 +5503,7 @@ const cloneProjectRepositoryTool = {
|
|
|
4568
5503
|
tags: ["clone", "projects", "github", "repository"],
|
|
4569
5504
|
tool_call_template: {
|
|
4570
5505
|
call_template_type: "panel_event",
|
|
4571
|
-
event_type: `${PANEL_ID}:clone-repository`
|
|
5506
|
+
event_type: `${PANEL_ID$1}:clone-repository`
|
|
4572
5507
|
}
|
|
4573
5508
|
};
|
|
4574
5509
|
const githubProjectsPanelTools = [
|
|
@@ -4578,11 +5513,180 @@ const githubProjectsPanelTools = [
|
|
|
4578
5513
|
cloneProjectRepositoryTool
|
|
4579
5514
|
];
|
|
4580
5515
|
const githubProjectsPanelToolsMetadata = {
|
|
4581
|
-
id: PANEL_ID,
|
|
5516
|
+
id: PANEL_ID$1,
|
|
4582
5517
|
name: "GitHub Projects Panel",
|
|
4583
5518
|
description: "Tools for browsing and managing your GitHub repositories and organization repositories",
|
|
4584
5519
|
tools: githubProjectsPanelTools
|
|
4585
5520
|
};
|
|
5521
|
+
const PANEL_ID = "industry-theme.user-profile";
|
|
5522
|
+
const viewOrganizationsTool = {
|
|
5523
|
+
name: "view_user_organizations",
|
|
5524
|
+
description: "Switch to the organizations tab to view the user's GitHub organizations",
|
|
5525
|
+
inputs: {
|
|
5526
|
+
type: "object",
|
|
5527
|
+
properties: {},
|
|
5528
|
+
required: []
|
|
5529
|
+
},
|
|
5530
|
+
outputs: {
|
|
5531
|
+
type: "object",
|
|
5532
|
+
properties: {
|
|
5533
|
+
success: { type: "boolean" },
|
|
5534
|
+
message: { type: "string" }
|
|
5535
|
+
}
|
|
5536
|
+
},
|
|
5537
|
+
tags: ["view", "organizations", "user"],
|
|
5538
|
+
tool_call_template: {
|
|
5539
|
+
call_template_type: "panel_event",
|
|
5540
|
+
event_type: `${PANEL_ID}:set-view`
|
|
5541
|
+
}
|
|
5542
|
+
};
|
|
5543
|
+
const viewStarredTool = {
|
|
5544
|
+
name: "view_user_starred",
|
|
5545
|
+
description: "Switch to the starred tab to view the user's starred GitHub repositories",
|
|
5546
|
+
inputs: {
|
|
5547
|
+
type: "object",
|
|
5548
|
+
properties: {},
|
|
5549
|
+
required: []
|
|
5550
|
+
},
|
|
5551
|
+
outputs: {
|
|
5552
|
+
type: "object",
|
|
5553
|
+
properties: {
|
|
5554
|
+
success: { type: "boolean" },
|
|
5555
|
+
message: { type: "string" }
|
|
5556
|
+
}
|
|
5557
|
+
},
|
|
5558
|
+
tags: ["view", "starred", "repositories", "user"],
|
|
5559
|
+
tool_call_template: {
|
|
5560
|
+
call_template_type: "panel_event",
|
|
5561
|
+
event_type: `${PANEL_ID}:set-view`
|
|
5562
|
+
}
|
|
5563
|
+
};
|
|
5564
|
+
const selectOrganizationTool = {
|
|
5565
|
+
name: "select_organization",
|
|
5566
|
+
description: "Select a GitHub organization to view its details and repositories",
|
|
5567
|
+
inputs: {
|
|
5568
|
+
type: "object",
|
|
5569
|
+
properties: {
|
|
5570
|
+
orgLogin: {
|
|
5571
|
+
type: "string",
|
|
5572
|
+
description: "The organization login/username to select"
|
|
5573
|
+
}
|
|
5574
|
+
},
|
|
5575
|
+
required: ["orgLogin"]
|
|
5576
|
+
},
|
|
5577
|
+
outputs: {
|
|
5578
|
+
type: "object",
|
|
5579
|
+
properties: {
|
|
5580
|
+
success: { type: "boolean" },
|
|
5581
|
+
selectedOrganization: { type: "string" }
|
|
5582
|
+
}
|
|
5583
|
+
},
|
|
5584
|
+
tags: ["select", "organization", "navigation"],
|
|
5585
|
+
tool_call_template: {
|
|
5586
|
+
call_template_type: "panel_event",
|
|
5587
|
+
event_type: `${PANEL_ID}:select-organization`
|
|
5588
|
+
}
|
|
5589
|
+
};
|
|
5590
|
+
const selectRepositoryTool = {
|
|
5591
|
+
name: "select_starred_repository",
|
|
5592
|
+
description: "Select a starred repository to view its details",
|
|
5593
|
+
inputs: {
|
|
5594
|
+
type: "object",
|
|
5595
|
+
properties: {
|
|
5596
|
+
owner: {
|
|
5597
|
+
type: "string",
|
|
5598
|
+
description: "The repository owner (user or organization)"
|
|
5599
|
+
},
|
|
5600
|
+
repo: {
|
|
5601
|
+
type: "string",
|
|
5602
|
+
description: "The repository name"
|
|
5603
|
+
}
|
|
5604
|
+
},
|
|
5605
|
+
required: ["owner", "repo"]
|
|
5606
|
+
},
|
|
5607
|
+
outputs: {
|
|
5608
|
+
type: "object",
|
|
5609
|
+
properties: {
|
|
5610
|
+
success: { type: "boolean" },
|
|
5611
|
+
selectedRepository: { type: "string" }
|
|
5612
|
+
}
|
|
5613
|
+
},
|
|
5614
|
+
tags: ["select", "repository", "starred", "navigation"],
|
|
5615
|
+
tool_call_template: {
|
|
5616
|
+
call_template_type: "panel_event",
|
|
5617
|
+
event_type: `${PANEL_ID}:select-repository`
|
|
5618
|
+
}
|
|
5619
|
+
};
|
|
5620
|
+
const cloneRepositoryTool = {
|
|
5621
|
+
name: "clone_starred_repository",
|
|
5622
|
+
description: "Clone one of the user's starred repositories to your local machine",
|
|
5623
|
+
inputs: {
|
|
5624
|
+
type: "object",
|
|
5625
|
+
properties: {
|
|
5626
|
+
owner: {
|
|
5627
|
+
type: "string",
|
|
5628
|
+
description: "The repository owner"
|
|
5629
|
+
},
|
|
5630
|
+
repo: {
|
|
5631
|
+
type: "string",
|
|
5632
|
+
description: "The repository name"
|
|
5633
|
+
}
|
|
5634
|
+
},
|
|
5635
|
+
required: ["owner", "repo"]
|
|
5636
|
+
},
|
|
5637
|
+
outputs: {
|
|
5638
|
+
type: "object",
|
|
5639
|
+
properties: {
|
|
5640
|
+
success: { type: "boolean" },
|
|
5641
|
+
message: { type: "string" }
|
|
5642
|
+
}
|
|
5643
|
+
},
|
|
5644
|
+
tags: ["clone", "repository", "starred"],
|
|
5645
|
+
tool_call_template: {
|
|
5646
|
+
call_template_type: "panel_event",
|
|
5647
|
+
event_type: `${PANEL_ID}:clone-repository`
|
|
5648
|
+
}
|
|
5649
|
+
};
|
|
5650
|
+
const filterStarredTool = {
|
|
5651
|
+
name: "filter_starred_repositories",
|
|
5652
|
+
description: "Filter the starred repositories list by name, description, or language",
|
|
5653
|
+
inputs: {
|
|
5654
|
+
type: "object",
|
|
5655
|
+
properties: {
|
|
5656
|
+
filter: {
|
|
5657
|
+
type: "string",
|
|
5658
|
+
description: "Search term to filter repositories"
|
|
5659
|
+
}
|
|
5660
|
+
},
|
|
5661
|
+
required: ["filter"]
|
|
5662
|
+
},
|
|
5663
|
+
outputs: {
|
|
5664
|
+
type: "object",
|
|
5665
|
+
properties: {
|
|
5666
|
+
success: { type: "boolean" },
|
|
5667
|
+
message: { type: "string" }
|
|
5668
|
+
}
|
|
5669
|
+
},
|
|
5670
|
+
tags: ["filter", "search", "starred", "repositories"],
|
|
5671
|
+
tool_call_template: {
|
|
5672
|
+
call_template_type: "panel_event",
|
|
5673
|
+
event_type: `${PANEL_ID}:filter-starred`
|
|
5674
|
+
}
|
|
5675
|
+
};
|
|
5676
|
+
const userProfilePanelTools = [
|
|
5677
|
+
viewOrganizationsTool,
|
|
5678
|
+
viewStarredTool,
|
|
5679
|
+
selectOrganizationTool,
|
|
5680
|
+
selectRepositoryTool,
|
|
5681
|
+
cloneRepositoryTool,
|
|
5682
|
+
filterStarredTool
|
|
5683
|
+
];
|
|
5684
|
+
const userProfilePanelToolsMetadata = {
|
|
5685
|
+
id: PANEL_ID,
|
|
5686
|
+
name: "User Profile Panel",
|
|
5687
|
+
description: "Tools for viewing user profiles, their organizations, and starred repositories",
|
|
5688
|
+
tools: userProfilePanelTools
|
|
5689
|
+
};
|
|
4586
5690
|
const panels = [
|
|
4587
5691
|
{
|
|
4588
5692
|
metadata: {
|
|
@@ -4691,6 +5795,28 @@ const panels = [
|
|
|
4691
5795
|
onUnmount: async (_context) => {
|
|
4692
5796
|
console.log("GitHub Projects Panel unmounting");
|
|
4693
5797
|
}
|
|
5798
|
+
},
|
|
5799
|
+
{
|
|
5800
|
+
metadata: {
|
|
5801
|
+
id: "industry-theme.user-profile",
|
|
5802
|
+
name: "User Profile",
|
|
5803
|
+
icon: "User",
|
|
5804
|
+
version: "0.1.0",
|
|
5805
|
+
author: "Industry Theme",
|
|
5806
|
+
description: "View user profiles, organizations, and starred repositories",
|
|
5807
|
+
slices: ["userProfile"],
|
|
5808
|
+
tools: userProfilePanelTools
|
|
5809
|
+
},
|
|
5810
|
+
component: UserProfilePanel,
|
|
5811
|
+
onMount: async (context) => {
|
|
5812
|
+
console.log("User Profile Panel mounted");
|
|
5813
|
+
if (context.hasSlice("userProfile") && !context.isSliceLoading("userProfile")) {
|
|
5814
|
+
await context.refresh(void 0, "userProfile");
|
|
5815
|
+
}
|
|
5816
|
+
},
|
|
5817
|
+
onUnmount: async (_context) => {
|
|
5818
|
+
console.log("User Profile Panel unmounting");
|
|
5819
|
+
}
|
|
4694
5820
|
}
|
|
4695
5821
|
];
|
|
4696
5822
|
const onPackageLoad = async () => {
|
|
@@ -4709,16 +5835,20 @@ export {
|
|
|
4709
5835
|
LocalProjectsPanel,
|
|
4710
5836
|
LocalProjectsPanelPreview,
|
|
4711
5837
|
RepositoryAvatar,
|
|
5838
|
+
UserProfilePanel,
|
|
5839
|
+
UserProfilePanelPreview,
|
|
4712
5840
|
WorkspaceCard,
|
|
4713
5841
|
WorkspaceRepositoriesPanel,
|
|
4714
5842
|
WorkspacesListPanel,
|
|
4715
5843
|
WorkspacesListPanelPreview,
|
|
4716
5844
|
cloneProjectRepositoryTool,
|
|
4717
5845
|
cloneStarredRepositoryTool,
|
|
5846
|
+
cloneRepositoryTool as cloneUserRepositoryTool,
|
|
4718
5847
|
createWorkspaceTool,
|
|
4719
5848
|
filterProjectsTool as filterGitHubProjectsTool,
|
|
4720
5849
|
filterProjectsTool$1 as filterProjectsTool,
|
|
4721
|
-
filterStarredTool,
|
|
5850
|
+
filterStarredTool$1 as filterStarredTool,
|
|
5851
|
+
filterStarredTool as filterUserStarredTool,
|
|
4722
5852
|
filterWorkspacesTool,
|
|
4723
5853
|
githubProjectsPanelTools,
|
|
4724
5854
|
githubProjectsPanelToolsMetadata,
|
|
@@ -4733,12 +5863,18 @@ export {
|
|
|
4733
5863
|
openWorkspaceTool,
|
|
4734
5864
|
panels,
|
|
4735
5865
|
refreshWorkspaceTool,
|
|
5866
|
+
selectOrganizationTool,
|
|
4736
5867
|
selectProjectRepositoryTool,
|
|
4737
5868
|
selectProjectTool,
|
|
4738
|
-
selectRepositoryTool,
|
|
5869
|
+
selectRepositoryTool$1 as selectRepositoryTool,
|
|
4739
5870
|
selectStarredRepositoryTool,
|
|
5871
|
+
selectRepositoryTool as selectUserRepositoryTool,
|
|
4740
5872
|
selectWorkspaceTool,
|
|
4741
5873
|
toggleOwnerSectionTool,
|
|
5874
|
+
userProfilePanelTools,
|
|
5875
|
+
userProfilePanelToolsMetadata,
|
|
5876
|
+
viewOrganizationsTool,
|
|
5877
|
+
viewStarredTool,
|
|
4742
5878
|
workspaceRepositoriesPanelTools,
|
|
4743
5879
|
workspaceRepositoriesPanelToolsMetadata,
|
|
4744
5880
|
workspacesListPanelTools,
|