@industry-theme/alexandria-panels 0.1.15 → 0.1.16
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/mocks/panelContext.d.ts.map +1 -1
- package/dist/panels/GitHubProjectsPanel/index.d.ts.map +1 -1
- package/dist/panels/LocalProjectsPanel/LocalProjectCard.d.ts.map +1 -1
- package/dist/panels/WorkspaceCollectionPanel/WorkspaceCollectionPanel.stories.d.ts +13 -0
- package/dist/panels/WorkspaceCollectionPanel/WorkspaceCollectionPanel.stories.d.ts.map +1 -0
- package/dist/panels/WorkspaceCollectionPanel/index.d.ts +27 -0
- package/dist/panels/WorkspaceCollectionPanel/index.d.ts.map +1 -0
- package/dist/panels/WorkspaceCollectionPanel/tools.d.ts +35 -0
- package/dist/panels/WorkspaceCollectionPanel/tools.d.ts.map +1 -0
- package/dist/panels/WorkspaceCollectionPanel/types.d.ts +125 -0
- package/dist/panels/WorkspaceCollectionPanel/types.d.ts.map +1 -0
- package/dist/panels/WorkspaceRepositoriesPanel/WorkspaceRepositoriesPanel.stories.d.ts.map +1 -1
- package/dist/panels/WorkspacesListPanel/WorkspaceCard.d.ts.map +1 -1
- package/dist/panels/WorkspacesListPanel/types.d.ts +2 -0
- package/dist/panels/WorkspacesListPanel/types.d.ts.map +1 -1
- package/dist/panels/shared/GitHubRepositoryCard.d.ts.map +1 -1
- package/dist/panels/shared/github-types.d.ts +2 -0
- package/dist/panels/shared/github-types.d.ts.map +1 -1
- package/dist/panels.bundle.js +1210 -209
- package/dist/panels.bundle.js.map +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools.bundle.js +151 -0
- package/package.json +1 -1
package/dist/panels.bundle.js
CHANGED
|
@@ -140,7 +140,18 @@ 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$w = [
|
|
144
|
+
["path", { d: "M5 12h14", key: "1ays0h" }],
|
|
145
|
+
["path", { d: "m12 5 7 7-7 7", key: "xquz4c" }]
|
|
146
|
+
];
|
|
147
|
+
const ArrowRight = createLucideIcon("arrow-right", __iconNode$w);
|
|
148
|
+
/**
|
|
149
|
+
* @license lucide-react v0.552.0 - ISC
|
|
150
|
+
*
|
|
151
|
+
* This source code is licensed under the ISC license.
|
|
152
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
153
|
+
*/
|
|
154
|
+
const __iconNode$v = [
|
|
144
155
|
["path", { d: "M10 12h4", key: "a56b0p" }],
|
|
145
156
|
["path", { d: "M10 8h4", key: "1sr2af" }],
|
|
146
157
|
["path", { d: "M14 21v-3a2 2 0 0 0-4 0v3", key: "1rgiei" }],
|
|
@@ -153,132 +164,132 @@ const __iconNode$u = [
|
|
|
153
164
|
],
|
|
154
165
|
["path", { d: "M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16", key: "16ra0t" }]
|
|
155
166
|
];
|
|
156
|
-
const Building2 = createLucideIcon("building-2", __iconNode$
|
|
167
|
+
const Building2 = createLucideIcon("building-2", __iconNode$v);
|
|
157
168
|
/**
|
|
158
169
|
* @license lucide-react v0.552.0 - ISC
|
|
159
170
|
*
|
|
160
171
|
* This source code is licensed under the ISC license.
|
|
161
172
|
* See the LICENSE file in the root directory of this source tree.
|
|
162
173
|
*/
|
|
163
|
-
const __iconNode$
|
|
174
|
+
const __iconNode$u = [
|
|
164
175
|
["path", { d: "M8 2v4", key: "1cmpym" }],
|
|
165
176
|
["path", { d: "M16 2v4", key: "4m81vk" }],
|
|
166
177
|
["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
|
|
167
178
|
["path", { d: "M3 10h18", key: "8toen8" }]
|
|
168
179
|
];
|
|
169
|
-
const Calendar = createLucideIcon("calendar", __iconNode$
|
|
180
|
+
const Calendar = createLucideIcon("calendar", __iconNode$u);
|
|
170
181
|
/**
|
|
171
182
|
* @license lucide-react v0.552.0 - ISC
|
|
172
183
|
*
|
|
173
184
|
* This source code is licensed under the ISC license.
|
|
174
185
|
* See the LICENSE file in the root directory of this source tree.
|
|
175
186
|
*/
|
|
176
|
-
const __iconNode$
|
|
177
|
-
const Check = createLucideIcon("check", __iconNode$
|
|
187
|
+
const __iconNode$t = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
|
|
188
|
+
const Check = createLucideIcon("check", __iconNode$t);
|
|
178
189
|
/**
|
|
179
190
|
* @license lucide-react v0.552.0 - ISC
|
|
180
191
|
*
|
|
181
192
|
* This source code is licensed under the ISC license.
|
|
182
193
|
* See the LICENSE file in the root directory of this source tree.
|
|
183
194
|
*/
|
|
184
|
-
const __iconNode$
|
|
185
|
-
const ChevronDown = createLucideIcon("chevron-down", __iconNode$
|
|
195
|
+
const __iconNode$s = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
|
|
196
|
+
const ChevronDown = createLucideIcon("chevron-down", __iconNode$s);
|
|
186
197
|
/**
|
|
187
198
|
* @license lucide-react v0.552.0 - ISC
|
|
188
199
|
*
|
|
189
200
|
* This source code is licensed under the ISC license.
|
|
190
201
|
* See the LICENSE file in the root directory of this source tree.
|
|
191
202
|
*/
|
|
192
|
-
const __iconNode$
|
|
193
|
-
const ChevronRight = createLucideIcon("chevron-right", __iconNode$
|
|
203
|
+
const __iconNode$r = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
|
|
204
|
+
const ChevronRight = createLucideIcon("chevron-right", __iconNode$r);
|
|
194
205
|
/**
|
|
195
206
|
* @license lucide-react v0.552.0 - ISC
|
|
196
207
|
*
|
|
197
208
|
* This source code is licensed under the ISC license.
|
|
198
209
|
* See the LICENSE file in the root directory of this source tree.
|
|
199
210
|
*/
|
|
200
|
-
const __iconNode$
|
|
211
|
+
const __iconNode$q = [
|
|
201
212
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
202
213
|
["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
|
|
203
214
|
["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
|
|
204
215
|
];
|
|
205
|
-
const CircleAlert = createLucideIcon("circle-alert", __iconNode$
|
|
216
|
+
const CircleAlert = createLucideIcon("circle-alert", __iconNode$q);
|
|
206
217
|
/**
|
|
207
218
|
* @license lucide-react v0.552.0 - ISC
|
|
208
219
|
*
|
|
209
220
|
* This source code is licensed under the ISC license.
|
|
210
221
|
* See the LICENSE file in the root directory of this source tree.
|
|
211
222
|
*/
|
|
212
|
-
const __iconNode$
|
|
213
|
-
const Circle = createLucideIcon("circle", __iconNode$
|
|
223
|
+
const __iconNode$p = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]];
|
|
224
|
+
const Circle = createLucideIcon("circle", __iconNode$p);
|
|
214
225
|
/**
|
|
215
226
|
* @license lucide-react v0.552.0 - ISC
|
|
216
227
|
*
|
|
217
228
|
* This source code is licensed under the ISC license.
|
|
218
229
|
* See the LICENSE file in the root directory of this source tree.
|
|
219
230
|
*/
|
|
220
|
-
const __iconNode$
|
|
231
|
+
const __iconNode$o = [
|
|
221
232
|
["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
|
|
222
233
|
["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" }]
|
|
223
234
|
];
|
|
224
|
-
const Copy = createLucideIcon("copy", __iconNode$
|
|
235
|
+
const Copy = createLucideIcon("copy", __iconNode$o);
|
|
225
236
|
/**
|
|
226
237
|
* @license lucide-react v0.552.0 - ISC
|
|
227
238
|
*
|
|
228
239
|
* This source code is licensed under the ISC license.
|
|
229
240
|
* See the LICENSE file in the root directory of this source tree.
|
|
230
241
|
*/
|
|
231
|
-
const __iconNode$
|
|
242
|
+
const __iconNode$n = [
|
|
232
243
|
["path", { d: "M10 12h.01", key: "1kxr2c" }],
|
|
233
244
|
["path", { d: "M18 20V6a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v14", key: "36qu9e" }],
|
|
234
245
|
["path", { d: "M2 20h20", key: "owomy5" }]
|
|
235
246
|
];
|
|
236
|
-
const DoorClosed = createLucideIcon("door-closed", __iconNode$
|
|
247
|
+
const DoorClosed = createLucideIcon("door-closed", __iconNode$n);
|
|
237
248
|
/**
|
|
238
249
|
* @license lucide-react v0.552.0 - ISC
|
|
239
250
|
*
|
|
240
251
|
* This source code is licensed under the ISC license.
|
|
241
252
|
* See the LICENSE file in the root directory of this source tree.
|
|
242
253
|
*/
|
|
243
|
-
const __iconNode$
|
|
254
|
+
const __iconNode$m = [
|
|
244
255
|
["path", { d: "M12 15V3", key: "m9g1x1" }],
|
|
245
256
|
["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
|
|
246
257
|
["path", { d: "m7 10 5 5 5-5", key: "brsn70" }]
|
|
247
258
|
];
|
|
248
|
-
const Download = createLucideIcon("download", __iconNode$
|
|
259
|
+
const Download = createLucideIcon("download", __iconNode$m);
|
|
249
260
|
/**
|
|
250
261
|
* @license lucide-react v0.552.0 - ISC
|
|
251
262
|
*
|
|
252
263
|
* This source code is licensed under the ISC license.
|
|
253
264
|
* See the LICENSE file in the root directory of this source tree.
|
|
254
265
|
*/
|
|
255
|
-
const __iconNode$
|
|
266
|
+
const __iconNode$l = [
|
|
256
267
|
["path", { d: "M15 3h6v6", key: "1q9fwt" }],
|
|
257
268
|
["path", { d: "M10 14 21 3", key: "gplh6r" }],
|
|
258
269
|
["path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6", key: "a6xqqp" }]
|
|
259
270
|
];
|
|
260
|
-
const ExternalLink = createLucideIcon("external-link", __iconNode$
|
|
271
|
+
const ExternalLink = createLucideIcon("external-link", __iconNode$l);
|
|
261
272
|
/**
|
|
262
273
|
* @license lucide-react v0.552.0 - ISC
|
|
263
274
|
*
|
|
264
275
|
* This source code is licensed under the ISC license.
|
|
265
276
|
* See the LICENSE file in the root directory of this source tree.
|
|
266
277
|
*/
|
|
267
|
-
const __iconNode$
|
|
278
|
+
const __iconNode$k = [
|
|
268
279
|
["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }],
|
|
269
280
|
["path", { d: "M3 7V5a2 2 0 0 1 2-2h2", key: "aa7l1z" }],
|
|
270
281
|
["path", { d: "M17 3h2a2 2 0 0 1 2 2v2", key: "4qcy5o" }],
|
|
271
282
|
["path", { d: "M21 17v2a2 2 0 0 1-2 2h-2", key: "6vwrx8" }],
|
|
272
283
|
["path", { d: "M7 21H5a2 2 0 0 1-2-2v-2", key: "ioqczr" }]
|
|
273
284
|
];
|
|
274
|
-
const Focus = createLucideIcon("focus", __iconNode$
|
|
285
|
+
const Focus = createLucideIcon("focus", __iconNode$k);
|
|
275
286
|
/**
|
|
276
287
|
* @license lucide-react v0.552.0 - ISC
|
|
277
288
|
*
|
|
278
289
|
* This source code is licensed under the ISC license.
|
|
279
290
|
* See the LICENSE file in the root directory of this source tree.
|
|
280
291
|
*/
|
|
281
|
-
const __iconNode$
|
|
292
|
+
const __iconNode$j = [
|
|
282
293
|
[
|
|
283
294
|
"path",
|
|
284
295
|
{
|
|
@@ -290,14 +301,14 @@ const __iconNode$i = [
|
|
|
290
301
|
["path", { d: "M18 19c-2.8 0-5-2.2-5-5v8", key: "pkpw2h" }],
|
|
291
302
|
["circle", { cx: "20", cy: "19", r: "2", key: "1obnsp" }]
|
|
292
303
|
];
|
|
293
|
-
const FolderGit2 = createLucideIcon("folder-git-2", __iconNode$
|
|
304
|
+
const FolderGit2 = createLucideIcon("folder-git-2", __iconNode$j);
|
|
294
305
|
/**
|
|
295
306
|
* @license lucide-react v0.552.0 - ISC
|
|
296
307
|
*
|
|
297
308
|
* This source code is licensed under the ISC license.
|
|
298
309
|
* See the LICENSE file in the root directory of this source tree.
|
|
299
310
|
*/
|
|
300
|
-
const __iconNode$
|
|
311
|
+
const __iconNode$i = [
|
|
301
312
|
[
|
|
302
313
|
"path",
|
|
303
314
|
{
|
|
@@ -306,14 +317,14 @@ const __iconNode$h = [
|
|
|
306
317
|
}
|
|
307
318
|
]
|
|
308
319
|
];
|
|
309
|
-
const FolderOpen = createLucideIcon("folder-open", __iconNode$
|
|
320
|
+
const FolderOpen = createLucideIcon("folder-open", __iconNode$i);
|
|
310
321
|
/**
|
|
311
322
|
* @license lucide-react v0.552.0 - ISC
|
|
312
323
|
*
|
|
313
324
|
* This source code is licensed under the ISC license.
|
|
314
325
|
* See the LICENSE file in the root directory of this source tree.
|
|
315
326
|
*/
|
|
316
|
-
const __iconNode$
|
|
327
|
+
const __iconNode$h = [
|
|
317
328
|
[
|
|
318
329
|
"path",
|
|
319
330
|
{
|
|
@@ -322,28 +333,28 @@ const __iconNode$g = [
|
|
|
322
333
|
}
|
|
323
334
|
]
|
|
324
335
|
];
|
|
325
|
-
const Folder = createLucideIcon("folder", __iconNode$
|
|
336
|
+
const Folder = createLucideIcon("folder", __iconNode$h);
|
|
326
337
|
/**
|
|
327
338
|
* @license lucide-react v0.552.0 - ISC
|
|
328
339
|
*
|
|
329
340
|
* This source code is licensed under the ISC license.
|
|
330
341
|
* See the LICENSE file in the root directory of this source tree.
|
|
331
342
|
*/
|
|
332
|
-
const __iconNode$
|
|
343
|
+
const __iconNode$g = [
|
|
333
344
|
["circle", { cx: "12", cy: "18", r: "3", key: "1mpf1b" }],
|
|
334
345
|
["circle", { cx: "6", cy: "6", r: "3", key: "1lh9wr" }],
|
|
335
346
|
["circle", { cx: "18", cy: "6", r: "3", key: "1h7g24" }],
|
|
336
347
|
["path", { d: "M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9", key: "1uq4wg" }],
|
|
337
348
|
["path", { d: "M12 12v3", key: "158kv8" }]
|
|
338
349
|
];
|
|
339
|
-
const GitFork = createLucideIcon("git-fork", __iconNode$
|
|
350
|
+
const GitFork = createLucideIcon("git-fork", __iconNode$g);
|
|
340
351
|
/**
|
|
341
352
|
* @license lucide-react v0.552.0 - ISC
|
|
342
353
|
*
|
|
343
354
|
* This source code is licensed under the ISC license.
|
|
344
355
|
* See the LICENSE file in the root directory of this source tree.
|
|
345
356
|
*/
|
|
346
|
-
const __iconNode$
|
|
357
|
+
const __iconNode$f = [
|
|
347
358
|
["path", { d: "M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8", key: "5wwlr5" }],
|
|
348
359
|
[
|
|
349
360
|
"path",
|
|
@@ -353,14 +364,14 @@ const __iconNode$e = [
|
|
|
353
364
|
}
|
|
354
365
|
]
|
|
355
366
|
];
|
|
356
|
-
const House = createLucideIcon("house", __iconNode$
|
|
367
|
+
const House = createLucideIcon("house", __iconNode$f);
|
|
357
368
|
/**
|
|
358
369
|
* @license lucide-react v0.552.0 - ISC
|
|
359
370
|
*
|
|
360
371
|
* This source code is licensed under the ISC license.
|
|
361
372
|
* See the LICENSE file in the root directory of this source tree.
|
|
362
373
|
*/
|
|
363
|
-
const __iconNode$
|
|
374
|
+
const __iconNode$e = [
|
|
364
375
|
[
|
|
365
376
|
"path",
|
|
366
377
|
{
|
|
@@ -383,44 +394,44 @@ const __iconNode$d = [
|
|
|
383
394
|
}
|
|
384
395
|
]
|
|
385
396
|
];
|
|
386
|
-
const Layers = createLucideIcon("layers", __iconNode$
|
|
397
|
+
const Layers = createLucideIcon("layers", __iconNode$e);
|
|
387
398
|
/**
|
|
388
399
|
* @license lucide-react v0.552.0 - ISC
|
|
389
400
|
*
|
|
390
401
|
* This source code is licensed under the ISC license.
|
|
391
402
|
* See the LICENSE file in the root directory of this source tree.
|
|
392
403
|
*/
|
|
393
|
-
const __iconNode$
|
|
394
|
-
const LoaderCircle = createLucideIcon("loader-circle", __iconNode$
|
|
404
|
+
const __iconNode$d = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
|
|
405
|
+
const LoaderCircle = createLucideIcon("loader-circle", __iconNode$d);
|
|
395
406
|
/**
|
|
396
407
|
* @license lucide-react v0.552.0 - ISC
|
|
397
408
|
*
|
|
398
409
|
* This source code is licensed under the ISC license.
|
|
399
410
|
* See the LICENSE file in the root directory of this source tree.
|
|
400
411
|
*/
|
|
401
|
-
const __iconNode$
|
|
412
|
+
const __iconNode$c = [
|
|
402
413
|
["rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2", key: "1w4ew1" }],
|
|
403
414
|
["path", { d: "M7 11V7a5 5 0 0 1 10 0v4", key: "fwvmzm" }]
|
|
404
415
|
];
|
|
405
|
-
const Lock = createLucideIcon("lock", __iconNode$
|
|
416
|
+
const Lock = createLucideIcon("lock", __iconNode$c);
|
|
406
417
|
/**
|
|
407
418
|
* @license lucide-react v0.552.0 - ISC
|
|
408
419
|
*
|
|
409
420
|
* This source code is licensed under the ISC license.
|
|
410
421
|
* See the LICENSE file in the root directory of this source tree.
|
|
411
422
|
*/
|
|
412
|
-
const __iconNode$
|
|
423
|
+
const __iconNode$b = [
|
|
413
424
|
["path", { d: "m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7", key: "132q7q" }],
|
|
414
425
|
["rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", key: "izxlao" }]
|
|
415
426
|
];
|
|
416
|
-
const Mail = createLucideIcon("mail", __iconNode$
|
|
427
|
+
const Mail = createLucideIcon("mail", __iconNode$b);
|
|
417
428
|
/**
|
|
418
429
|
* @license lucide-react v0.552.0 - ISC
|
|
419
430
|
*
|
|
420
431
|
* This source code is licensed under the ISC license.
|
|
421
432
|
* See the LICENSE file in the root directory of this source tree.
|
|
422
433
|
*/
|
|
423
|
-
const __iconNode$
|
|
434
|
+
const __iconNode$a = [
|
|
424
435
|
[
|
|
425
436
|
"path",
|
|
426
437
|
{
|
|
@@ -430,25 +441,25 @@ const __iconNode$9 = [
|
|
|
430
441
|
],
|
|
431
442
|
["circle", { cx: "12", cy: "10", r: "3", key: "ilqhr7" }]
|
|
432
443
|
];
|
|
433
|
-
const MapPin = createLucideIcon("map-pin", __iconNode$
|
|
444
|
+
const MapPin = createLucideIcon("map-pin", __iconNode$a);
|
|
434
445
|
/**
|
|
435
446
|
* @license lucide-react v0.552.0 - ISC
|
|
436
447
|
*
|
|
437
448
|
* This source code is licensed under the ISC license.
|
|
438
449
|
* See the LICENSE file in the root directory of this source tree.
|
|
439
450
|
*/
|
|
440
|
-
const __iconNode$
|
|
451
|
+
const __iconNode$9 = [
|
|
441
452
|
["path", { d: "M8 6L12 2L16 6", key: "1yvkyx" }],
|
|
442
453
|
["path", { d: "M12 2V22", key: "r89rzk" }]
|
|
443
454
|
];
|
|
444
|
-
const MoveUp = createLucideIcon("move-up", __iconNode$
|
|
455
|
+
const MoveUp = createLucideIcon("move-up", __iconNode$9);
|
|
445
456
|
/**
|
|
446
457
|
* @license lucide-react v0.552.0 - ISC
|
|
447
458
|
*
|
|
448
459
|
* This source code is licensed under the ISC license.
|
|
449
460
|
* See the LICENSE file in the root directory of this source tree.
|
|
450
461
|
*/
|
|
451
|
-
const __iconNode$
|
|
462
|
+
const __iconNode$8 = [
|
|
452
463
|
[
|
|
453
464
|
"path",
|
|
454
465
|
{
|
|
@@ -457,29 +468,43 @@ const __iconNode$7 = [
|
|
|
457
468
|
}
|
|
458
469
|
]
|
|
459
470
|
];
|
|
460
|
-
const Pen = createLucideIcon("pen", __iconNode$
|
|
471
|
+
const Pen = createLucideIcon("pen", __iconNode$8);
|
|
461
472
|
/**
|
|
462
473
|
* @license lucide-react v0.552.0 - ISC
|
|
463
474
|
*
|
|
464
475
|
* This source code is licensed under the ISC license.
|
|
465
476
|
* See the LICENSE file in the root directory of this source tree.
|
|
466
477
|
*/
|
|
467
|
-
const __iconNode$
|
|
478
|
+
const __iconNode$7 = [
|
|
468
479
|
["path", { d: "M5 12h14", key: "1ays0h" }],
|
|
469
480
|
["path", { d: "M12 5v14", key: "s699le" }]
|
|
470
481
|
];
|
|
471
|
-
const Plus = createLucideIcon("plus", __iconNode$
|
|
482
|
+
const Plus = createLucideIcon("plus", __iconNode$7);
|
|
472
483
|
/**
|
|
473
484
|
* @license lucide-react v0.552.0 - ISC
|
|
474
485
|
*
|
|
475
486
|
* This source code is licensed under the ISC license.
|
|
476
487
|
* See the LICENSE file in the root directory of this source tree.
|
|
477
488
|
*/
|
|
478
|
-
const __iconNode$
|
|
489
|
+
const __iconNode$6 = [
|
|
479
490
|
["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
|
|
480
491
|
["path", { d: "M3 3v5h5", key: "1xhq8a" }]
|
|
481
492
|
];
|
|
482
|
-
const RotateCcw = createLucideIcon("rotate-ccw", __iconNode$
|
|
493
|
+
const RotateCcw = createLucideIcon("rotate-ccw", __iconNode$6);
|
|
494
|
+
/**
|
|
495
|
+
* @license lucide-react v0.552.0 - ISC
|
|
496
|
+
*
|
|
497
|
+
* This source code is licensed under the ISC license.
|
|
498
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
499
|
+
*/
|
|
500
|
+
const __iconNode$5 = [
|
|
501
|
+
["path", { d: "m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z", key: "7g6ntu" }],
|
|
502
|
+
["path", { d: "m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z", key: "ijws7r" }],
|
|
503
|
+
["path", { d: "M7 21h10", key: "1b0cd5" }],
|
|
504
|
+
["path", { d: "M12 3v18", key: "108xh3" }],
|
|
505
|
+
["path", { d: "M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2", key: "3gwbw2" }]
|
|
506
|
+
];
|
|
507
|
+
const Scale = createLucideIcon("scale", __iconNode$5);
|
|
483
508
|
/**
|
|
484
509
|
* @license lucide-react v0.552.0 - ISC
|
|
485
510
|
*
|
|
@@ -614,7 +639,7 @@ const LANGUAGE_COLORS = {
|
|
|
614
639
|
Shell: "#89e051",
|
|
615
640
|
PowerShell: "#012456"
|
|
616
641
|
};
|
|
617
|
-
const getLanguageColor$
|
|
642
|
+
const getLanguageColor$2 = (language) => {
|
|
618
643
|
return LANGUAGE_COLORS[language] || "#6e7681";
|
|
619
644
|
};
|
|
620
645
|
const LocalProjectCard = ({
|
|
@@ -920,7 +945,7 @@ const LocalProjectCard = ({
|
|
|
920
945
|
minWidth: 0
|
|
921
946
|
},
|
|
922
947
|
children: [
|
|
923
|
-
/* @__PURE__ */
|
|
948
|
+
/* @__PURE__ */ jsxs(
|
|
924
949
|
"div",
|
|
925
950
|
{
|
|
926
951
|
style: {
|
|
@@ -928,23 +953,31 @@ const LocalProjectCard = ({
|
|
|
928
953
|
alignItems: "center",
|
|
929
954
|
gap: "8px"
|
|
930
955
|
},
|
|
931
|
-
children:
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
956
|
+
children: [
|
|
957
|
+
/* @__PURE__ */ jsx(
|
|
958
|
+
"span",
|
|
959
|
+
{
|
|
960
|
+
className: ((_c = entry.github) == null ? void 0 : _c.primaryLanguage) ? "project-name-underline" : void 0,
|
|
961
|
+
style: {
|
|
962
|
+
fontSize: `${theme.fontSizes[2]}px`,
|
|
963
|
+
fontWeight: theme.fontWeights.semibold,
|
|
964
|
+
color: theme.colors.text,
|
|
965
|
+
overflow: "hidden",
|
|
966
|
+
textOverflow: "ellipsis",
|
|
967
|
+
whiteSpace: "nowrap",
|
|
968
|
+
"--underline-color": ((_d = entry.github) == null ? void 0 : _d.primaryLanguage) ? getLanguageColor$2(entry.github.primaryLanguage) : theme.colors.textSecondary
|
|
969
|
+
},
|
|
970
|
+
children: entry.name
|
|
971
|
+
}
|
|
972
|
+
),
|
|
973
|
+
entry.github && entry.github.isPublic === false && /* @__PURE__ */ jsx("span", { title: "Private repository", children: /* @__PURE__ */ jsx(
|
|
974
|
+
Lock,
|
|
975
|
+
{
|
|
976
|
+
size: 12,
|
|
977
|
+
style: { color: theme.colors.textSecondary, flexShrink: 0 }
|
|
978
|
+
}
|
|
979
|
+
) })
|
|
980
|
+
]
|
|
948
981
|
}
|
|
949
982
|
),
|
|
950
983
|
/* @__PURE__ */ jsxs(
|
|
@@ -1005,10 +1038,10 @@ const LocalProjectCard = ({
|
|
|
1005
1038
|
}
|
|
1006
1039
|
);
|
|
1007
1040
|
};
|
|
1008
|
-
const PANEL_ID$
|
|
1009
|
-
const createPanelEvent$
|
|
1041
|
+
const PANEL_ID$d = "industry-theme.local-projects";
|
|
1042
|
+
const createPanelEvent$6 = (type, payload) => ({
|
|
1010
1043
|
type,
|
|
1011
|
-
source: PANEL_ID$
|
|
1044
|
+
source: PANEL_ID$d,
|
|
1012
1045
|
timestamp: Date.now(),
|
|
1013
1046
|
payload
|
|
1014
1047
|
});
|
|
@@ -1044,7 +1077,7 @@ const LocalProjectsPanelContent = ({
|
|
|
1044
1077
|
try {
|
|
1045
1078
|
await panelActions.openRepository(entry);
|
|
1046
1079
|
setWindowStates((prev) => new Map(prev).set(entry.path, "ready"));
|
|
1047
|
-
events.emit(createPanelEvent$
|
|
1080
|
+
events.emit(createPanelEvent$6(`${PANEL_ID$d}:repository-opened`, { entry }));
|
|
1048
1081
|
} catch (error) {
|
|
1049
1082
|
console.error("Error opening repository:", error);
|
|
1050
1083
|
setWindowStates((prev) => new Map(prev).set(entry.path, "closed"));
|
|
@@ -1055,14 +1088,14 @@ const LocalProjectsPanelContent = ({
|
|
|
1055
1088
|
useEffect(() => {
|
|
1056
1089
|
const unsubscribers = [
|
|
1057
1090
|
// Filter event from tools
|
|
1058
|
-
events.on(`${PANEL_ID$
|
|
1091
|
+
events.on(`${PANEL_ID$d}:filter`, (event) => {
|
|
1059
1092
|
var _a2;
|
|
1060
1093
|
if (((_a2 = event.payload) == null ? void 0 : _a2.filter) !== void 0) {
|
|
1061
1094
|
setFilter(event.payload.filter);
|
|
1062
1095
|
}
|
|
1063
1096
|
}),
|
|
1064
1097
|
// Select repository event from tools
|
|
1065
|
-
events.on(`${PANEL_ID$
|
|
1098
|
+
events.on(`${PANEL_ID$d}:select-repository`, (event) => {
|
|
1066
1099
|
var _a2;
|
|
1067
1100
|
const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
|
|
1068
1101
|
if (identifier) {
|
|
@@ -1071,12 +1104,12 @@ const LocalProjectsPanelContent = ({
|
|
|
1071
1104
|
);
|
|
1072
1105
|
if (entry) {
|
|
1073
1106
|
setSelectedEntry(entry);
|
|
1074
|
-
events.emit(createPanelEvent$
|
|
1107
|
+
events.emit(createPanelEvent$6(`${PANEL_ID$d}:repository-selected`, { entry }));
|
|
1075
1108
|
}
|
|
1076
1109
|
}
|
|
1077
1110
|
}),
|
|
1078
1111
|
// Open repository event from tools
|
|
1079
|
-
events.on(`${PANEL_ID$
|
|
1112
|
+
events.on(`${PANEL_ID$d}:open-repository`, (event) => {
|
|
1080
1113
|
var _a2;
|
|
1081
1114
|
const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
|
|
1082
1115
|
if (identifier) {
|
|
@@ -1124,7 +1157,7 @@ const LocalProjectsPanelContent = ({
|
|
|
1124
1157
|
};
|
|
1125
1158
|
const handleSelectRepository = (entry) => {
|
|
1126
1159
|
setSelectedEntry(entry);
|
|
1127
|
-
events.emit(createPanelEvent$
|
|
1160
|
+
events.emit(createPanelEvent$6(`${PANEL_ID$d}:repository-selected`, { entry }));
|
|
1128
1161
|
};
|
|
1129
1162
|
const normalizedFilter = filter.trim().toLowerCase();
|
|
1130
1163
|
const filteredAndSortedRepositories = useMemo(() => {
|
|
@@ -1385,10 +1418,10 @@ const LocalProjectsPanelPreview = () => {
|
|
|
1385
1418
|
}
|
|
1386
1419
|
);
|
|
1387
1420
|
};
|
|
1388
|
-
const PANEL_ID$
|
|
1389
|
-
const createPanelEvent$
|
|
1421
|
+
const PANEL_ID$c = "industry-theme.workspace-repositories";
|
|
1422
|
+
const createPanelEvent$5 = (type, payload) => ({
|
|
1390
1423
|
type,
|
|
1391
|
-
source: PANEL_ID$
|
|
1424
|
+
source: PANEL_ID$c,
|
|
1392
1425
|
timestamp: Date.now(),
|
|
1393
1426
|
payload
|
|
1394
1427
|
});
|
|
@@ -1453,7 +1486,7 @@ const WorkspaceRepositoriesPanelContent = ({
|
|
|
1453
1486
|
(repository) => {
|
|
1454
1487
|
var _a;
|
|
1455
1488
|
events.emit(
|
|
1456
|
-
createPanelEvent$
|
|
1489
|
+
createPanelEvent$5("repository:selected", {
|
|
1457
1490
|
repositoryId: ((_a = repository.github) == null ? void 0 : _a.id) || repository.name,
|
|
1458
1491
|
repository,
|
|
1459
1492
|
repositoryPath: repository.path
|
|
@@ -1466,7 +1499,7 @@ const WorkspaceRepositoriesPanelContent = ({
|
|
|
1466
1499
|
(repository) => {
|
|
1467
1500
|
var _a;
|
|
1468
1501
|
events.emit(
|
|
1469
|
-
createPanelEvent$
|
|
1502
|
+
createPanelEvent$5("repository:opened", {
|
|
1470
1503
|
repositoryId: ((_a = repository.github) == null ? void 0 : _a.id) || repository.name,
|
|
1471
1504
|
repository
|
|
1472
1505
|
})
|
|
@@ -1507,7 +1540,7 @@ const WorkspaceRepositoriesPanelContent = ({
|
|
|
1507
1540
|
);
|
|
1508
1541
|
useEffect(() => {
|
|
1509
1542
|
const unsubscribers = [
|
|
1510
|
-
events.on(`${PANEL_ID$
|
|
1543
|
+
events.on(`${PANEL_ID$c}:select-repository`, (event) => {
|
|
1511
1544
|
var _a;
|
|
1512
1545
|
const path = (_a = event.payload) == null ? void 0 : _a.repositoryPath;
|
|
1513
1546
|
if (path) {
|
|
@@ -1517,7 +1550,7 @@ const WorkspaceRepositoriesPanelContent = ({
|
|
|
1517
1550
|
}
|
|
1518
1551
|
}
|
|
1519
1552
|
}),
|
|
1520
|
-
events.on(`${PANEL_ID$
|
|
1553
|
+
events.on(`${PANEL_ID$c}:open-repository`, (event) => {
|
|
1521
1554
|
var _a;
|
|
1522
1555
|
const path = (_a = event.payload) == null ? void 0 : _a.repositoryPath;
|
|
1523
1556
|
if (path) {
|
|
@@ -2065,7 +2098,6 @@ const WorkspaceCard = ({
|
|
|
2065
2098
|
"span",
|
|
2066
2099
|
{
|
|
2067
2100
|
style: {
|
|
2068
|
-
flex: 1,
|
|
2069
2101
|
whiteSpace: "nowrap",
|
|
2070
2102
|
overflow: "hidden",
|
|
2071
2103
|
textOverflow: "ellipsis"
|
|
@@ -2073,6 +2105,14 @@ const WorkspaceCard = ({
|
|
|
2073
2105
|
children: workspace.name
|
|
2074
2106
|
}
|
|
2075
2107
|
),
|
|
2108
|
+
workspace.isPrivate && /* @__PURE__ */ jsx("span", { title: "Private workspace", children: /* @__PURE__ */ jsx(
|
|
2109
|
+
Lock,
|
|
2110
|
+
{
|
|
2111
|
+
size: 12,
|
|
2112
|
+
style: { color: theme.colors.textSecondary, flexShrink: 0 }
|
|
2113
|
+
}
|
|
2114
|
+
) }),
|
|
2115
|
+
/* @__PURE__ */ jsx("span", { style: { flex: 1 } }),
|
|
2076
2116
|
isDefault && /* @__PURE__ */ jsx(
|
|
2077
2117
|
"span",
|
|
2078
2118
|
{
|
|
@@ -2206,10 +2246,10 @@ const WorkspaceCard = ({
|
|
|
2206
2246
|
}
|
|
2207
2247
|
);
|
|
2208
2248
|
};
|
|
2209
|
-
const PANEL_ID$
|
|
2210
|
-
const createPanelEvent$
|
|
2249
|
+
const PANEL_ID$b = "industry-theme.workspaces-list";
|
|
2250
|
+
const createPanelEvent$4 = (type, payload) => ({
|
|
2211
2251
|
type,
|
|
2212
|
-
source: PANEL_ID$
|
|
2252
|
+
source: PANEL_ID$b,
|
|
2213
2253
|
timestamp: Date.now(),
|
|
2214
2254
|
payload
|
|
2215
2255
|
});
|
|
@@ -2284,7 +2324,7 @@ const WorkspacesListPanelContent = ({
|
|
|
2284
2324
|
(workspace) => {
|
|
2285
2325
|
setSelectedWorkspaceId(workspace.id);
|
|
2286
2326
|
events.emit(
|
|
2287
|
-
createPanelEvent$
|
|
2327
|
+
createPanelEvent$4(`${PANEL_ID$b}:workspace:selected`, {
|
|
2288
2328
|
workspaceId: workspace.id,
|
|
2289
2329
|
workspace
|
|
2290
2330
|
})
|
|
@@ -2301,7 +2341,7 @@ const WorkspacesListPanelContent = ({
|
|
|
2301
2341
|
try {
|
|
2302
2342
|
await panelActions.openWorkspace(workspace.id);
|
|
2303
2343
|
events.emit(
|
|
2304
|
-
createPanelEvent$
|
|
2344
|
+
createPanelEvent$4(`${PANEL_ID$b}:workspace:opened`, {
|
|
2305
2345
|
workspaceId: workspace.id,
|
|
2306
2346
|
workspace
|
|
2307
2347
|
})
|
|
@@ -2325,7 +2365,7 @@ const WorkspacesListPanelContent = ({
|
|
|
2325
2365
|
try {
|
|
2326
2366
|
await panelActions.deleteWorkspace(workspace.id);
|
|
2327
2367
|
events.emit(
|
|
2328
|
-
createPanelEvent$
|
|
2368
|
+
createPanelEvent$4(`${PANEL_ID$b}:workspace:deleted`, {
|
|
2329
2369
|
workspaceId: workspace.id
|
|
2330
2370
|
})
|
|
2331
2371
|
);
|
|
@@ -2349,13 +2389,13 @@ const WorkspacesListPanelContent = ({
|
|
|
2349
2389
|
);
|
|
2350
2390
|
const handleCreateWorkspace = useCallback(() => {
|
|
2351
2391
|
events.emit(
|
|
2352
|
-
createPanelEvent$
|
|
2392
|
+
createPanelEvent$4(`${PANEL_ID$b}:create-workspace-requested`, {})
|
|
2353
2393
|
);
|
|
2354
2394
|
}, [events]);
|
|
2355
2395
|
useEffect(() => {
|
|
2356
2396
|
const unsubscribers = [
|
|
2357
2397
|
// Select workspace event from tools
|
|
2358
|
-
events.on(`${PANEL_ID$
|
|
2398
|
+
events.on(`${PANEL_ID$b}:select-workspace`, (event) => {
|
|
2359
2399
|
var _a2;
|
|
2360
2400
|
const workspaceId = (_a2 = event.payload) == null ? void 0 : _a2.workspaceId;
|
|
2361
2401
|
if (workspaceId) {
|
|
@@ -2366,7 +2406,7 @@ const WorkspacesListPanelContent = ({
|
|
|
2366
2406
|
}
|
|
2367
2407
|
}),
|
|
2368
2408
|
// Open workspace event from tools
|
|
2369
|
-
events.on(`${PANEL_ID$
|
|
2409
|
+
events.on(`${PANEL_ID$b}:open-workspace`, (event) => {
|
|
2370
2410
|
var _a2;
|
|
2371
2411
|
const workspaceId = (_a2 = event.payload) == null ? void 0 : _a2.workspaceId;
|
|
2372
2412
|
if (workspaceId) {
|
|
@@ -2378,14 +2418,14 @@ const WorkspacesListPanelContent = ({
|
|
|
2378
2418
|
}),
|
|
2379
2419
|
// Create workspace event from tools
|
|
2380
2420
|
events.on(
|
|
2381
|
-
`${PANEL_ID$
|
|
2421
|
+
`${PANEL_ID$b}:create-workspace`,
|
|
2382
2422
|
async (event) => {
|
|
2383
2423
|
const { name, description } = event.payload || {};
|
|
2384
2424
|
if (name && panelActions.createWorkspace) {
|
|
2385
2425
|
try {
|
|
2386
2426
|
const workspace = await panelActions.createWorkspace(name, { description });
|
|
2387
2427
|
events.emit(
|
|
2388
|
-
createPanelEvent$
|
|
2428
|
+
createPanelEvent$4(`${PANEL_ID$b}:workspace:created`, {
|
|
2389
2429
|
workspaceId: workspace.id,
|
|
2390
2430
|
workspace
|
|
2391
2431
|
})
|
|
@@ -2533,51 +2573,805 @@ const WorkspacesListPanelContent = ({
|
|
|
2533
2573
|
style: {
|
|
2534
2574
|
display: "flex",
|
|
2535
2575
|
alignItems: "center",
|
|
2536
|
-
gap: "8px"
|
|
2576
|
+
gap: "8px"
|
|
2577
|
+
},
|
|
2578
|
+
children: [
|
|
2579
|
+
/* @__PURE__ */ jsx(
|
|
2580
|
+
"input",
|
|
2581
|
+
{
|
|
2582
|
+
type: "text",
|
|
2583
|
+
value: searchQuery,
|
|
2584
|
+
onChange: (e) => setSearchQuery(e.target.value),
|
|
2585
|
+
placeholder: "Search by workspace or repository name...",
|
|
2586
|
+
autoFocus: true,
|
|
2587
|
+
style: {
|
|
2588
|
+
flex: 1,
|
|
2589
|
+
padding: "8px 12px",
|
|
2590
|
+
borderRadius: "6px",
|
|
2591
|
+
border: `1px solid ${theme.colors.border}`,
|
|
2592
|
+
backgroundColor: theme.colors.background,
|
|
2593
|
+
color: theme.colors.text,
|
|
2594
|
+
fontSize: `${theme.fontSizes[1]}px`,
|
|
2595
|
+
fontFamily: theme.fonts.body,
|
|
2596
|
+
outline: "none"
|
|
2597
|
+
}
|
|
2598
|
+
}
|
|
2599
|
+
),
|
|
2600
|
+
searchQuery && /* @__PURE__ */ jsx(
|
|
2601
|
+
"button",
|
|
2602
|
+
{
|
|
2603
|
+
onClick: () => setSearchQuery(""),
|
|
2604
|
+
style: {
|
|
2605
|
+
display: "flex",
|
|
2606
|
+
alignItems: "center",
|
|
2607
|
+
justifyContent: "center",
|
|
2608
|
+
width: "28px",
|
|
2609
|
+
height: "28px",
|
|
2610
|
+
borderRadius: "6px",
|
|
2611
|
+
border: `1px solid ${theme.colors.border}`,
|
|
2612
|
+
backgroundColor: theme.colors.backgroundTertiary,
|
|
2613
|
+
color: theme.colors.text,
|
|
2614
|
+
cursor: "pointer",
|
|
2615
|
+
transition: "all 0.15s ease"
|
|
2616
|
+
},
|
|
2617
|
+
title: "Clear search",
|
|
2618
|
+
children: /* @__PURE__ */ jsx(X, { size: 16 })
|
|
2619
|
+
}
|
|
2620
|
+
)
|
|
2621
|
+
]
|
|
2622
|
+
}
|
|
2623
|
+
),
|
|
2624
|
+
/* @__PURE__ */ jsxs(
|
|
2625
|
+
"div",
|
|
2626
|
+
{
|
|
2627
|
+
style: {
|
|
2628
|
+
flex: 1,
|
|
2629
|
+
overflowY: "auto",
|
|
2630
|
+
display: "flex",
|
|
2631
|
+
flexDirection: "column",
|
|
2632
|
+
gap: "4px"
|
|
2633
|
+
},
|
|
2634
|
+
children: [
|
|
2635
|
+
sortedWorkspaces.map((workspace) => /* @__PURE__ */ jsx(
|
|
2636
|
+
WorkspaceCard,
|
|
2637
|
+
{
|
|
2638
|
+
workspace,
|
|
2639
|
+
isSelected: workspace.id === selectedWorkspaceId,
|
|
2640
|
+
isDefault: workspace.id === defaultWorkspaceId,
|
|
2641
|
+
onClick: handleWorkspaceSelect,
|
|
2642
|
+
onOpen: panelActions.openWorkspace ? handleOpenWorkspace : void 0,
|
|
2643
|
+
onDelete: panelActions.deleteWorkspace ? handleDeleteWorkspace : void 0,
|
|
2644
|
+
onUpdateName: panelActions.updateWorkspace ? handleUpdateWorkspaceName : void 0
|
|
2645
|
+
},
|
|
2646
|
+
workspace.id
|
|
2647
|
+
)),
|
|
2648
|
+
sortedWorkspaces.length === 0 && !loading && /* @__PURE__ */ jsx(
|
|
2649
|
+
"div",
|
|
2650
|
+
{
|
|
2651
|
+
style: {
|
|
2652
|
+
padding: "32px",
|
|
2653
|
+
textAlign: "center",
|
|
2654
|
+
color: theme.colors.textSecondary
|
|
2655
|
+
},
|
|
2656
|
+
children: /* @__PURE__ */ jsx("p", { style: { margin: 0 }, children: searchQuery.trim() ? `No workspaces found matching "${searchQuery}"` : "No workspaces found." })
|
|
2657
|
+
}
|
|
2658
|
+
)
|
|
2659
|
+
]
|
|
2660
|
+
}
|
|
2661
|
+
)
|
|
2662
|
+
] });
|
|
2663
|
+
};
|
|
2664
|
+
const WorkspacesListPanel = (props) => {
|
|
2665
|
+
return /* @__PURE__ */ jsx(WorkspacesListPanelContent, { ...props });
|
|
2666
|
+
};
|
|
2667
|
+
const WorkspacesListPanelPreview = () => {
|
|
2668
|
+
const { theme } = useTheme();
|
|
2669
|
+
return /* @__PURE__ */ jsxs(
|
|
2670
|
+
"div",
|
|
2671
|
+
{
|
|
2672
|
+
style: {
|
|
2673
|
+
padding: "12px",
|
|
2674
|
+
fontSize: `${theme.fontSizes[0]}px`,
|
|
2675
|
+
fontFamily: theme.fonts.body,
|
|
2676
|
+
color: theme.colors.text,
|
|
2677
|
+
display: "flex",
|
|
2678
|
+
flexDirection: "column",
|
|
2679
|
+
gap: "8px"
|
|
2680
|
+
},
|
|
2681
|
+
children: [
|
|
2682
|
+
/* @__PURE__ */ jsxs(
|
|
2683
|
+
"div",
|
|
2684
|
+
{
|
|
2685
|
+
style: {
|
|
2686
|
+
display: "flex",
|
|
2687
|
+
alignItems: "center",
|
|
2688
|
+
gap: "6px",
|
|
2689
|
+
fontWeight: theme.fontWeights.semibold
|
|
2690
|
+
},
|
|
2691
|
+
children: [
|
|
2692
|
+
/* @__PURE__ */ jsx(Layers, { size: 16, style: { color: theme.colors.primary } }),
|
|
2693
|
+
/* @__PURE__ */ jsx("span", { children: "Workspaces" })
|
|
2694
|
+
]
|
|
2695
|
+
}
|
|
2696
|
+
),
|
|
2697
|
+
/* @__PURE__ */ jsx(
|
|
2698
|
+
"div",
|
|
2699
|
+
{
|
|
2700
|
+
style: {
|
|
2701
|
+
fontSize: `${theme.fontSizes[0]}px`,
|
|
2702
|
+
fontFamily: theme.fonts.body,
|
|
2703
|
+
color: theme.colors.textSecondary,
|
|
2704
|
+
marginTop: "4px"
|
|
2705
|
+
},
|
|
2706
|
+
children: "Browse and manage your workspaces"
|
|
2707
|
+
}
|
|
2708
|
+
)
|
|
2709
|
+
]
|
|
2710
|
+
}
|
|
2711
|
+
);
|
|
2712
|
+
};
|
|
2713
|
+
const PANEL_ID$a = "industry-theme.workspace-collection";
|
|
2714
|
+
const createPanelEvent$3 = (type, payload) => ({
|
|
2715
|
+
type,
|
|
2716
|
+
source: PANEL_ID$a,
|
|
2717
|
+
timestamp: Date.now(),
|
|
2718
|
+
payload
|
|
2719
|
+
});
|
|
2720
|
+
const WorkspaceCollectionRepositoryCard = ({
|
|
2721
|
+
repository,
|
|
2722
|
+
isSelected = false,
|
|
2723
|
+
onSelect,
|
|
2724
|
+
onNavigate,
|
|
2725
|
+
onRemove
|
|
2726
|
+
}) => {
|
|
2727
|
+
const { theme } = useTheme();
|
|
2728
|
+
const [isHovered, setIsHovered] = useState(false);
|
|
2729
|
+
const handleClick = useCallback(() => {
|
|
2730
|
+
if (onSelect) {
|
|
2731
|
+
onSelect(repository);
|
|
2732
|
+
}
|
|
2733
|
+
}, [onSelect, repository]);
|
|
2734
|
+
const handleNavigate = useCallback(
|
|
2735
|
+
(e) => {
|
|
2736
|
+
e.stopPropagation();
|
|
2737
|
+
if (onNavigate) {
|
|
2738
|
+
onNavigate(repository);
|
|
2739
|
+
}
|
|
2740
|
+
},
|
|
2741
|
+
[onNavigate, repository]
|
|
2742
|
+
);
|
|
2743
|
+
const handleRemove = useCallback(
|
|
2744
|
+
(e) => {
|
|
2745
|
+
e.stopPropagation();
|
|
2746
|
+
if (onRemove) {
|
|
2747
|
+
onRemove(repository);
|
|
2748
|
+
}
|
|
2749
|
+
},
|
|
2750
|
+
[onRemove, repository]
|
|
2751
|
+
);
|
|
2752
|
+
const handleOpenOnGitHub = useCallback(
|
|
2753
|
+
(e) => {
|
|
2754
|
+
e.stopPropagation();
|
|
2755
|
+
window.open(repository.html_url, "_blank", "noopener,noreferrer");
|
|
2756
|
+
},
|
|
2757
|
+
[repository.html_url]
|
|
2758
|
+
);
|
|
2759
|
+
const getRelativeTime = (dateString) => {
|
|
2760
|
+
const date = new Date(dateString);
|
|
2761
|
+
const now = /* @__PURE__ */ new Date();
|
|
2762
|
+
const diffMs = now.getTime() - date.getTime();
|
|
2763
|
+
const diffDays = Math.floor(diffMs / (1e3 * 60 * 60 * 24));
|
|
2764
|
+
if (diffDays === 0) return "today";
|
|
2765
|
+
if (diffDays === 1) return "yesterday";
|
|
2766
|
+
if (diffDays < 7) return `${diffDays} days ago`;
|
|
2767
|
+
if (diffDays < 30) return `${Math.floor(diffDays / 7)} weeks ago`;
|
|
2768
|
+
if (diffDays < 365) return `${Math.floor(diffDays / 30)} months ago`;
|
|
2769
|
+
return `${Math.floor(diffDays / 365)} years ago`;
|
|
2770
|
+
};
|
|
2771
|
+
return /* @__PURE__ */ jsxs(
|
|
2772
|
+
"div",
|
|
2773
|
+
{
|
|
2774
|
+
onClick: handleClick,
|
|
2775
|
+
onMouseEnter: () => setIsHovered(true),
|
|
2776
|
+
onMouseLeave: () => setIsHovered(false),
|
|
2777
|
+
style: {
|
|
2778
|
+
display: "flex",
|
|
2779
|
+
alignItems: "flex-start",
|
|
2780
|
+
gap: "12px",
|
|
2781
|
+
padding: "12px",
|
|
2782
|
+
borderRadius: "8px",
|
|
2783
|
+
backgroundColor: isSelected ? `${theme.colors.primary}15` : isHovered ? theme.colors.backgroundTertiary : "transparent",
|
|
2784
|
+
border: `1px solid ${isSelected ? theme.colors.primary : "transparent"}`,
|
|
2785
|
+
cursor: onSelect ? "pointer" : "default",
|
|
2786
|
+
transition: "background-color 0.15s, border-color 0.15s"
|
|
2787
|
+
},
|
|
2788
|
+
children: [
|
|
2789
|
+
/* @__PURE__ */ jsx(
|
|
2790
|
+
RepositoryAvatar,
|
|
2791
|
+
{
|
|
2792
|
+
owner: repository.owner.login,
|
|
2793
|
+
customAvatarUrl: repository.owner.avatar_url,
|
|
2794
|
+
size: 40
|
|
2795
|
+
}
|
|
2796
|
+
),
|
|
2797
|
+
/* @__PURE__ */ jsxs("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
2798
|
+
/* @__PURE__ */ jsx(
|
|
2799
|
+
"div",
|
|
2800
|
+
{
|
|
2801
|
+
style: {
|
|
2802
|
+
display: "flex",
|
|
2803
|
+
alignItems: "center",
|
|
2804
|
+
gap: "8px",
|
|
2805
|
+
marginBottom: "4px"
|
|
2806
|
+
},
|
|
2807
|
+
children: /* @__PURE__ */ jsx(
|
|
2808
|
+
"span",
|
|
2809
|
+
{
|
|
2810
|
+
style: {
|
|
2811
|
+
fontSize: `${theme.fontSizes[2]}px`,
|
|
2812
|
+
fontWeight: theme.fontWeights.semibold,
|
|
2813
|
+
fontFamily: theme.fonts.body,
|
|
2814
|
+
color: theme.colors.text,
|
|
2815
|
+
overflow: "hidden",
|
|
2816
|
+
textOverflow: "ellipsis",
|
|
2817
|
+
whiteSpace: "nowrap"
|
|
2818
|
+
},
|
|
2819
|
+
title: repository.full_name,
|
|
2820
|
+
children: repository.name
|
|
2821
|
+
}
|
|
2822
|
+
)
|
|
2823
|
+
}
|
|
2824
|
+
),
|
|
2825
|
+
/* @__PURE__ */ jsx(
|
|
2826
|
+
"div",
|
|
2827
|
+
{
|
|
2828
|
+
style: {
|
|
2829
|
+
fontSize: `${theme.fontSizes[0]}px`,
|
|
2830
|
+
fontFamily: theme.fonts.body,
|
|
2831
|
+
color: theme.colors.textSecondary,
|
|
2832
|
+
marginBottom: "4px"
|
|
2833
|
+
},
|
|
2834
|
+
children: repository.owner.login
|
|
2835
|
+
}
|
|
2836
|
+
),
|
|
2837
|
+
repository.description && /* @__PURE__ */ jsx(
|
|
2838
|
+
"div",
|
|
2839
|
+
{
|
|
2840
|
+
style: {
|
|
2841
|
+
fontSize: `${theme.fontSizes[1]}px`,
|
|
2842
|
+
fontFamily: theme.fonts.body,
|
|
2843
|
+
color: theme.colors.textSecondary,
|
|
2844
|
+
lineHeight: theme.lineHeights.body,
|
|
2845
|
+
overflow: "hidden",
|
|
2846
|
+
textOverflow: "ellipsis",
|
|
2847
|
+
display: "-webkit-box",
|
|
2848
|
+
WebkitLineClamp: 2,
|
|
2849
|
+
WebkitBoxOrient: "vertical",
|
|
2850
|
+
marginBottom: "8px"
|
|
2851
|
+
},
|
|
2852
|
+
children: repository.description
|
|
2853
|
+
}
|
|
2854
|
+
),
|
|
2855
|
+
/* @__PURE__ */ jsxs(
|
|
2856
|
+
"div",
|
|
2857
|
+
{
|
|
2858
|
+
style: {
|
|
2859
|
+
display: "flex",
|
|
2860
|
+
alignItems: "center",
|
|
2861
|
+
gap: "12px",
|
|
2862
|
+
fontSize: `${theme.fontSizes[0]}px`,
|
|
2863
|
+
fontFamily: theme.fonts.body,
|
|
2864
|
+
color: theme.colors.textSecondary
|
|
2865
|
+
},
|
|
2866
|
+
children: [
|
|
2867
|
+
repository.language && /* @__PURE__ */ jsxs("span", { style: { display: "flex", alignItems: "center", gap: "4px" }, children: [
|
|
2868
|
+
/* @__PURE__ */ jsx(
|
|
2869
|
+
"span",
|
|
2870
|
+
{
|
|
2871
|
+
style: {
|
|
2872
|
+
width: "8px",
|
|
2873
|
+
height: "8px",
|
|
2874
|
+
borderRadius: "50%",
|
|
2875
|
+
backgroundColor: getLanguageColor$1(repository.language)
|
|
2876
|
+
}
|
|
2877
|
+
}
|
|
2878
|
+
),
|
|
2879
|
+
repository.language
|
|
2880
|
+
] }),
|
|
2881
|
+
/* @__PURE__ */ jsxs("span", { children: [
|
|
2882
|
+
"Updated ",
|
|
2883
|
+
getRelativeTime(repository.pushed_at || repository.updated_at)
|
|
2884
|
+
] })
|
|
2885
|
+
]
|
|
2886
|
+
}
|
|
2887
|
+
)
|
|
2888
|
+
] }),
|
|
2889
|
+
/* @__PURE__ */ jsxs(
|
|
2890
|
+
"div",
|
|
2891
|
+
{
|
|
2892
|
+
style: {
|
|
2893
|
+
display: "flex",
|
|
2894
|
+
alignItems: "center",
|
|
2895
|
+
gap: "8px",
|
|
2896
|
+
flexShrink: 0,
|
|
2897
|
+
opacity: isHovered || isSelected ? 1 : 0,
|
|
2898
|
+
transition: "opacity 0.15s"
|
|
2899
|
+
},
|
|
2900
|
+
children: [
|
|
2901
|
+
onRemove && /* @__PURE__ */ jsx(
|
|
2902
|
+
"button",
|
|
2903
|
+
{
|
|
2904
|
+
type: "button",
|
|
2905
|
+
onClick: handleRemove,
|
|
2906
|
+
style: {
|
|
2907
|
+
display: "flex",
|
|
2908
|
+
alignItems: "center",
|
|
2909
|
+
justifyContent: "center",
|
|
2910
|
+
width: "32px",
|
|
2911
|
+
height: "32px",
|
|
2912
|
+
borderRadius: "6px",
|
|
2913
|
+
border: `1px solid ${theme.colors.border}`,
|
|
2914
|
+
backgroundColor: "transparent",
|
|
2915
|
+
color: theme.colors.textSecondary,
|
|
2916
|
+
cursor: "pointer",
|
|
2917
|
+
transition: "background-color 0.15s, color 0.15s"
|
|
2918
|
+
},
|
|
2919
|
+
title: "Remove from workspace",
|
|
2920
|
+
onMouseEnter: (e) => {
|
|
2921
|
+
e.currentTarget.style.backgroundColor = `${theme.colors.error || "#ef4444"}20`;
|
|
2922
|
+
e.currentTarget.style.color = theme.colors.error || "#ef4444";
|
|
2923
|
+
e.currentTarget.style.borderColor = theme.colors.error || "#ef4444";
|
|
2924
|
+
},
|
|
2925
|
+
onMouseLeave: (e) => {
|
|
2926
|
+
e.currentTarget.style.backgroundColor = "transparent";
|
|
2927
|
+
e.currentTarget.style.color = theme.colors.textSecondary;
|
|
2928
|
+
e.currentTarget.style.borderColor = theme.colors.border;
|
|
2929
|
+
},
|
|
2930
|
+
children: /* @__PURE__ */ jsx(Trash2, { size: 16 })
|
|
2931
|
+
}
|
|
2932
|
+
),
|
|
2933
|
+
/* @__PURE__ */ jsx(
|
|
2934
|
+
"button",
|
|
2935
|
+
{
|
|
2936
|
+
type: "button",
|
|
2937
|
+
onClick: handleOpenOnGitHub,
|
|
2938
|
+
style: {
|
|
2939
|
+
display: "flex",
|
|
2940
|
+
alignItems: "center",
|
|
2941
|
+
justifyContent: "center",
|
|
2942
|
+
width: "32px",
|
|
2943
|
+
height: "32px",
|
|
2944
|
+
borderRadius: "6px",
|
|
2945
|
+
border: `1px solid ${theme.colors.border}`,
|
|
2946
|
+
backgroundColor: "transparent",
|
|
2947
|
+
color: theme.colors.textSecondary,
|
|
2948
|
+
cursor: "pointer",
|
|
2949
|
+
transition: "background-color 0.15s, color 0.15s"
|
|
2950
|
+
},
|
|
2951
|
+
title: "Open on GitHub",
|
|
2952
|
+
onMouseEnter: (e) => {
|
|
2953
|
+
e.currentTarget.style.backgroundColor = theme.colors.backgroundTertiary;
|
|
2954
|
+
e.currentTarget.style.color = theme.colors.text;
|
|
2955
|
+
},
|
|
2956
|
+
onMouseLeave: (e) => {
|
|
2957
|
+
e.currentTarget.style.backgroundColor = "transparent";
|
|
2958
|
+
e.currentTarget.style.color = theme.colors.textSecondary;
|
|
2959
|
+
},
|
|
2960
|
+
children: /* @__PURE__ */ jsx(ExternalLink, { size: 16 })
|
|
2961
|
+
}
|
|
2962
|
+
),
|
|
2963
|
+
onNavigate && /* @__PURE__ */ jsxs(
|
|
2964
|
+
"button",
|
|
2965
|
+
{
|
|
2966
|
+
type: "button",
|
|
2967
|
+
onClick: handleNavigate,
|
|
2968
|
+
style: {
|
|
2969
|
+
display: "flex",
|
|
2970
|
+
alignItems: "center",
|
|
2971
|
+
gap: "6px",
|
|
2972
|
+
padding: "6px 12px",
|
|
2973
|
+
borderRadius: "6px",
|
|
2974
|
+
border: "none",
|
|
2975
|
+
backgroundColor: theme.colors.primary,
|
|
2976
|
+
color: theme.colors.background,
|
|
2977
|
+
fontSize: `${theme.fontSizes[1]}px`,
|
|
2978
|
+
fontWeight: theme.fontWeights.medium,
|
|
2979
|
+
fontFamily: theme.fonts.body,
|
|
2980
|
+
cursor: "pointer",
|
|
2981
|
+
transition: "opacity 0.15s"
|
|
2982
|
+
},
|
|
2983
|
+
title: "View repository",
|
|
2984
|
+
children: [
|
|
2985
|
+
/* @__PURE__ */ jsx(ArrowRight, { size: 14 }),
|
|
2986
|
+
"View"
|
|
2987
|
+
]
|
|
2988
|
+
}
|
|
2989
|
+
)
|
|
2990
|
+
]
|
|
2991
|
+
}
|
|
2992
|
+
)
|
|
2993
|
+
]
|
|
2994
|
+
}
|
|
2995
|
+
);
|
|
2996
|
+
};
|
|
2997
|
+
function getLanguageColor$1(language) {
|
|
2998
|
+
const colors = {
|
|
2999
|
+
TypeScript: "#3178c6",
|
|
3000
|
+
JavaScript: "#f7df1e",
|
|
3001
|
+
Python: "#3572A5",
|
|
3002
|
+
Rust: "#dea584",
|
|
3003
|
+
Go: "#00ADD8",
|
|
3004
|
+
Java: "#b07219",
|
|
3005
|
+
Ruby: "#701516",
|
|
3006
|
+
PHP: "#4F5D95",
|
|
3007
|
+
"C++": "#f34b7d",
|
|
3008
|
+
C: "#555555",
|
|
3009
|
+
"C#": "#178600",
|
|
3010
|
+
Swift: "#F05138",
|
|
3011
|
+
Kotlin: "#A97BFF",
|
|
3012
|
+
Shell: "#89e051",
|
|
3013
|
+
HTML: "#e34c26",
|
|
3014
|
+
CSS: "#563d7c",
|
|
3015
|
+
Vue: "#41b883",
|
|
3016
|
+
Svelte: "#ff3e00"
|
|
3017
|
+
};
|
|
3018
|
+
return colors[language] || "#8b949e";
|
|
3019
|
+
}
|
|
3020
|
+
const WorkspaceCollectionPanelContent = ({
|
|
3021
|
+
context,
|
|
3022
|
+
actions,
|
|
3023
|
+
events
|
|
3024
|
+
}) => {
|
|
3025
|
+
var _a, _b, _c, _d;
|
|
3026
|
+
const { theme } = useTheme();
|
|
3027
|
+
const [filter, setFilter] = useState("");
|
|
3028
|
+
const [selectedRepo, setSelectedRepo] = useState(null);
|
|
3029
|
+
const panelActions = actions;
|
|
3030
|
+
const workspaceSlice = context.getSlice("workspace");
|
|
3031
|
+
const repositoriesSlice = context.getSlice("workspaceRepositories");
|
|
3032
|
+
const workspace = ((_a = workspaceSlice == null ? void 0 : workspaceSlice.data) == null ? void 0 : _a.workspace) ?? null;
|
|
3033
|
+
const repositories = ((_b = repositoriesSlice == null ? void 0 : repositoriesSlice.data) == null ? void 0 : _b.repositories) ?? [];
|
|
3034
|
+
const isLoading = (workspaceSlice == null ? void 0 : workspaceSlice.loading) || (repositoriesSlice == null ? void 0 : repositoriesSlice.loading) || false;
|
|
3035
|
+
const error = ((_c = workspaceSlice == null ? void 0 : workspaceSlice.data) == null ? void 0 : _c.error) || ((_d = repositoriesSlice == null ? void 0 : repositoriesSlice.data) == null ? void 0 : _d.error);
|
|
3036
|
+
const filteredRepositories = useMemo(() => {
|
|
3037
|
+
let filtered = [...repositories];
|
|
3038
|
+
if (filter.trim()) {
|
|
3039
|
+
const normalizedFilter = filter.trim().toLowerCase();
|
|
3040
|
+
filtered = filtered.filter((repo) => {
|
|
3041
|
+
var _a2;
|
|
3042
|
+
const haystack = [
|
|
3043
|
+
repo.name,
|
|
3044
|
+
repo.full_name,
|
|
3045
|
+
((_a2 = repo.owner) == null ? void 0 : _a2.login) ?? "",
|
|
3046
|
+
repo.description ?? "",
|
|
3047
|
+
repo.language ?? ""
|
|
3048
|
+
].join(" ").toLowerCase();
|
|
3049
|
+
return haystack.includes(normalizedFilter);
|
|
3050
|
+
});
|
|
3051
|
+
}
|
|
3052
|
+
return filtered.sort((a, b) => a.name.localeCompare(b.name));
|
|
3053
|
+
}, [repositories, filter]);
|
|
3054
|
+
const handleSelectRepository = useCallback(
|
|
3055
|
+
(repository) => {
|
|
3056
|
+
setSelectedRepo(repository);
|
|
3057
|
+
events.emit(
|
|
3058
|
+
createPanelEvent$3("repository:selected", {
|
|
3059
|
+
repositoryKey: repository.full_name,
|
|
3060
|
+
repository
|
|
3061
|
+
})
|
|
3062
|
+
);
|
|
3063
|
+
if (panelActions.previewRepository) {
|
|
3064
|
+
panelActions.previewRepository(repository);
|
|
3065
|
+
}
|
|
3066
|
+
},
|
|
3067
|
+
[events, panelActions]
|
|
3068
|
+
);
|
|
3069
|
+
const handleNavigateRepository = useCallback(
|
|
3070
|
+
(repository) => {
|
|
3071
|
+
events.emit(
|
|
3072
|
+
createPanelEvent$3("repository:navigate", {
|
|
3073
|
+
owner: repository.owner.login,
|
|
3074
|
+
repo: repository.name,
|
|
3075
|
+
repository
|
|
3076
|
+
})
|
|
3077
|
+
);
|
|
3078
|
+
if (panelActions.navigateToRepository) {
|
|
3079
|
+
panelActions.navigateToRepository(repository.owner.login, repository.name);
|
|
3080
|
+
}
|
|
3081
|
+
},
|
|
3082
|
+
[events, panelActions]
|
|
3083
|
+
);
|
|
3084
|
+
const handleRemoveRepository = useCallback(
|
|
3085
|
+
async (repository) => {
|
|
3086
|
+
if (!(workspace == null ? void 0 : workspace.id) || !panelActions.removeRepositoryFromWorkspace) return;
|
|
3087
|
+
try {
|
|
3088
|
+
await panelActions.removeRepositoryFromWorkspace(repository.full_name, workspace.id);
|
|
3089
|
+
events.emit(
|
|
3090
|
+
createPanelEvent$3("repository:removed", {
|
|
3091
|
+
repositoryKey: repository.full_name,
|
|
3092
|
+
workspaceId: workspace.id
|
|
3093
|
+
})
|
|
3094
|
+
);
|
|
3095
|
+
if ((selectedRepo == null ? void 0 : selectedRepo.id) === repository.id) {
|
|
3096
|
+
setSelectedRepo(null);
|
|
3097
|
+
}
|
|
3098
|
+
} catch (err) {
|
|
3099
|
+
console.error("Failed to remove repository from workspace:", err);
|
|
3100
|
+
}
|
|
3101
|
+
},
|
|
3102
|
+
[workspace, panelActions, events, selectedRepo]
|
|
3103
|
+
);
|
|
3104
|
+
useEffect(() => {
|
|
3105
|
+
const unsubscribers = [
|
|
3106
|
+
events.on(`${PANEL_ID$a}:select-repository`, (event) => {
|
|
3107
|
+
var _a2;
|
|
3108
|
+
const key = (_a2 = event.payload) == null ? void 0 : _a2.repositoryKey;
|
|
3109
|
+
if (key) {
|
|
3110
|
+
const repository = repositories.find(
|
|
3111
|
+
(r) => r.full_name === key || r.name === key
|
|
3112
|
+
);
|
|
3113
|
+
if (repository) {
|
|
3114
|
+
handleSelectRepository(repository);
|
|
3115
|
+
}
|
|
3116
|
+
}
|
|
3117
|
+
}),
|
|
3118
|
+
events.on(`${PANEL_ID$a}:navigate-repository`, (event) => {
|
|
3119
|
+
var _a2;
|
|
3120
|
+
const key = (_a2 = event.payload) == null ? void 0 : _a2.repositoryKey;
|
|
3121
|
+
if (key) {
|
|
3122
|
+
const repository = repositories.find(
|
|
3123
|
+
(r) => r.full_name === key || r.name === key
|
|
3124
|
+
);
|
|
3125
|
+
if (repository) {
|
|
3126
|
+
handleNavigateRepository(repository);
|
|
3127
|
+
}
|
|
3128
|
+
}
|
|
3129
|
+
}),
|
|
3130
|
+
events.on(`${PANEL_ID$a}:remove-repository`, (event) => {
|
|
3131
|
+
var _a2;
|
|
3132
|
+
const key = (_a2 = event.payload) == null ? void 0 : _a2.repositoryKey;
|
|
3133
|
+
if (key) {
|
|
3134
|
+
const repository = repositories.find(
|
|
3135
|
+
(r) => r.full_name === key || r.name === key
|
|
3136
|
+
);
|
|
3137
|
+
if (repository) {
|
|
3138
|
+
void handleRemoveRepository(repository);
|
|
3139
|
+
}
|
|
3140
|
+
}
|
|
3141
|
+
}),
|
|
3142
|
+
events.on(`${PANEL_ID$a}:filter`, (event) => {
|
|
3143
|
+
var _a2;
|
|
3144
|
+
setFilter(((_a2 = event.payload) == null ? void 0 : _a2.filter) || "");
|
|
3145
|
+
})
|
|
3146
|
+
];
|
|
3147
|
+
return () => unsubscribers.forEach((unsub) => unsub());
|
|
3148
|
+
}, [events, repositories, handleSelectRepository, handleNavigateRepository, handleRemoveRepository]);
|
|
3149
|
+
const baseContainerStyle = {
|
|
3150
|
+
display: "flex",
|
|
3151
|
+
flexDirection: "column",
|
|
3152
|
+
height: "100%",
|
|
3153
|
+
backgroundColor: theme.colors.backgroundSecondary
|
|
3154
|
+
};
|
|
3155
|
+
const contentContainerStyle = {
|
|
3156
|
+
...baseContainerStyle,
|
|
3157
|
+
padding: "16px",
|
|
3158
|
+
gap: "12px"
|
|
3159
|
+
};
|
|
3160
|
+
if (!workspace) {
|
|
3161
|
+
return /* @__PURE__ */ jsx("div", { style: baseContainerStyle, children: /* @__PURE__ */ jsx(
|
|
3162
|
+
"div",
|
|
3163
|
+
{
|
|
3164
|
+
style: {
|
|
3165
|
+
flex: 1,
|
|
3166
|
+
display: "flex",
|
|
3167
|
+
alignItems: "center",
|
|
3168
|
+
justifyContent: "center",
|
|
3169
|
+
padding: "32px",
|
|
3170
|
+
textAlign: "center"
|
|
3171
|
+
},
|
|
3172
|
+
children: /* @__PURE__ */ jsxs(
|
|
3173
|
+
"div",
|
|
3174
|
+
{
|
|
3175
|
+
style: {
|
|
3176
|
+
display: "flex",
|
|
3177
|
+
flexDirection: "column",
|
|
3178
|
+
alignItems: "center",
|
|
3179
|
+
gap: "16px",
|
|
3180
|
+
maxWidth: "360px"
|
|
3181
|
+
},
|
|
3182
|
+
children: [
|
|
3183
|
+
/* @__PURE__ */ jsx(
|
|
3184
|
+
Folder,
|
|
3185
|
+
{
|
|
3186
|
+
size: 48,
|
|
3187
|
+
style: {
|
|
3188
|
+
color: theme.colors.textSecondary,
|
|
3189
|
+
opacity: 0.5
|
|
3190
|
+
}
|
|
3191
|
+
}
|
|
3192
|
+
),
|
|
3193
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
3194
|
+
/* @__PURE__ */ jsx(
|
|
3195
|
+
"h3",
|
|
3196
|
+
{
|
|
3197
|
+
style: {
|
|
3198
|
+
margin: "0 0 8px 0",
|
|
3199
|
+
color: theme.colors.text,
|
|
3200
|
+
fontSize: `${theme.fontSizes[3]}px`,
|
|
3201
|
+
fontWeight: theme.fontWeights.semibold,
|
|
3202
|
+
fontFamily: theme.fonts.body
|
|
3203
|
+
},
|
|
3204
|
+
children: "No Workspace Selected"
|
|
3205
|
+
}
|
|
3206
|
+
),
|
|
3207
|
+
/* @__PURE__ */ jsx(
|
|
3208
|
+
"p",
|
|
3209
|
+
{
|
|
3210
|
+
style: {
|
|
3211
|
+
margin: 0,
|
|
3212
|
+
color: theme.colors.textSecondary,
|
|
3213
|
+
fontSize: `${theme.fontSizes[1]}px`,
|
|
3214
|
+
fontFamily: theme.fonts.body
|
|
3215
|
+
},
|
|
3216
|
+
children: "Select a workspace to see its repositories."
|
|
3217
|
+
}
|
|
3218
|
+
)
|
|
3219
|
+
] })
|
|
3220
|
+
]
|
|
3221
|
+
}
|
|
3222
|
+
)
|
|
3223
|
+
}
|
|
3224
|
+
) });
|
|
3225
|
+
}
|
|
3226
|
+
if (isLoading && repositories.length === 0) {
|
|
3227
|
+
return /* @__PURE__ */ jsx("div", { style: baseContainerStyle, children: /* @__PURE__ */ jsx(
|
|
3228
|
+
"div",
|
|
3229
|
+
{
|
|
3230
|
+
style: {
|
|
3231
|
+
flex: 1,
|
|
3232
|
+
display: "flex",
|
|
3233
|
+
alignItems: "center",
|
|
3234
|
+
justifyContent: "center",
|
|
3235
|
+
padding: "32px",
|
|
3236
|
+
textAlign: "center"
|
|
3237
|
+
},
|
|
3238
|
+
children: /* @__PURE__ */ jsxs(
|
|
3239
|
+
"div",
|
|
3240
|
+
{
|
|
3241
|
+
style: {
|
|
3242
|
+
display: "flex",
|
|
3243
|
+
flexDirection: "column",
|
|
3244
|
+
alignItems: "center",
|
|
3245
|
+
gap: "16px"
|
|
3246
|
+
},
|
|
3247
|
+
children: [
|
|
3248
|
+
/* @__PURE__ */ jsx(
|
|
3249
|
+
LoaderCircle,
|
|
3250
|
+
{
|
|
3251
|
+
size: 32,
|
|
3252
|
+
style: { color: theme.colors.textSecondary },
|
|
3253
|
+
className: "animate-spin"
|
|
3254
|
+
}
|
|
3255
|
+
),
|
|
3256
|
+
/* @__PURE__ */ jsx(
|
|
3257
|
+
"h3",
|
|
3258
|
+
{
|
|
3259
|
+
style: {
|
|
3260
|
+
margin: 0,
|
|
3261
|
+
color: theme.colors.text,
|
|
3262
|
+
fontSize: `${theme.fontSizes[3]}px`,
|
|
3263
|
+
fontWeight: theme.fontWeights.semibold,
|
|
3264
|
+
fontFamily: theme.fonts.body
|
|
3265
|
+
},
|
|
3266
|
+
children: "Loading repositories..."
|
|
3267
|
+
}
|
|
3268
|
+
)
|
|
3269
|
+
]
|
|
3270
|
+
}
|
|
3271
|
+
)
|
|
3272
|
+
}
|
|
3273
|
+
) });
|
|
3274
|
+
}
|
|
3275
|
+
return /* @__PURE__ */ jsxs("div", { style: contentContainerStyle, children: [
|
|
3276
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
3277
|
+
/* @__PURE__ */ jsx(
|
|
3278
|
+
"h3",
|
|
3279
|
+
{
|
|
3280
|
+
style: {
|
|
3281
|
+
margin: "0 0 4px 0",
|
|
3282
|
+
fontSize: `${theme.fontSizes[2]}px`,
|
|
3283
|
+
fontWeight: theme.fontWeights.semibold,
|
|
3284
|
+
color: theme.colors.text,
|
|
3285
|
+
fontFamily: theme.fonts.body
|
|
3286
|
+
},
|
|
3287
|
+
children: workspace.name
|
|
3288
|
+
}
|
|
3289
|
+
),
|
|
3290
|
+
workspace.description && /* @__PURE__ */ jsx(
|
|
3291
|
+
"p",
|
|
3292
|
+
{
|
|
3293
|
+
style: {
|
|
3294
|
+
margin: 0,
|
|
3295
|
+
fontSize: `${theme.fontSizes[1]}px`,
|
|
3296
|
+
color: theme.colors.textSecondary,
|
|
3297
|
+
fontFamily: theme.fonts.body
|
|
3298
|
+
},
|
|
3299
|
+
children: workspace.description
|
|
3300
|
+
}
|
|
3301
|
+
)
|
|
3302
|
+
] }),
|
|
3303
|
+
repositories.length > 0 && /* @__PURE__ */ jsxs("div", { style: { position: "relative" }, children: [
|
|
3304
|
+
/* @__PURE__ */ jsx(
|
|
3305
|
+
Search,
|
|
3306
|
+
{
|
|
3307
|
+
size: 16,
|
|
3308
|
+
style: {
|
|
3309
|
+
position: "absolute",
|
|
3310
|
+
top: "50%",
|
|
3311
|
+
left: "12px",
|
|
3312
|
+
transform: "translateY(-50%)",
|
|
3313
|
+
color: theme.colors.textSecondary,
|
|
3314
|
+
pointerEvents: "none"
|
|
3315
|
+
}
|
|
3316
|
+
}
|
|
3317
|
+
),
|
|
3318
|
+
/* @__PURE__ */ jsx(
|
|
3319
|
+
"input",
|
|
3320
|
+
{
|
|
3321
|
+
type: "text",
|
|
3322
|
+
value: filter,
|
|
3323
|
+
placeholder: "Filter repositories...",
|
|
3324
|
+
onChange: (e) => setFilter(e.target.value),
|
|
3325
|
+
style: {
|
|
3326
|
+
width: "100%",
|
|
3327
|
+
padding: "8px 12px 8px 36px",
|
|
3328
|
+
borderRadius: "6px",
|
|
3329
|
+
border: `1px solid ${theme.colors.border}`,
|
|
3330
|
+
backgroundColor: theme.colors.background,
|
|
3331
|
+
color: theme.colors.text,
|
|
3332
|
+
fontSize: `${theme.fontSizes[1]}px`,
|
|
3333
|
+
fontFamily: theme.fonts.body,
|
|
3334
|
+
outline: "none"
|
|
3335
|
+
}
|
|
3336
|
+
}
|
|
3337
|
+
)
|
|
3338
|
+
] }),
|
|
3339
|
+
error && /* @__PURE__ */ jsx(
|
|
3340
|
+
"div",
|
|
3341
|
+
{
|
|
3342
|
+
style: {
|
|
3343
|
+
display: "flex",
|
|
3344
|
+
alignItems: "center",
|
|
3345
|
+
gap: "8px",
|
|
3346
|
+
padding: "10px 14px",
|
|
3347
|
+
borderRadius: "6px",
|
|
3348
|
+
backgroundColor: `${theme.colors.error || "#ef4444"}20`,
|
|
3349
|
+
color: theme.colors.error || "#ef4444",
|
|
3350
|
+
fontSize: `${theme.fontSizes[1]}px`,
|
|
3351
|
+
fontFamily: theme.fonts.body
|
|
3352
|
+
},
|
|
3353
|
+
children: /* @__PURE__ */ jsx("span", { children: error })
|
|
3354
|
+
}
|
|
3355
|
+
),
|
|
3356
|
+
/* @__PURE__ */ jsxs(
|
|
3357
|
+
"div",
|
|
3358
|
+
{
|
|
3359
|
+
style: {
|
|
3360
|
+
fontSize: `${theme.fontSizes[0]}px`,
|
|
3361
|
+
fontFamily: theme.fonts.body,
|
|
3362
|
+
color: theme.colors.textSecondary,
|
|
3363
|
+
textTransform: "uppercase",
|
|
3364
|
+
letterSpacing: "0.5px"
|
|
2537
3365
|
},
|
|
2538
3366
|
children: [
|
|
2539
|
-
|
|
2540
|
-
|
|
2541
|
-
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
|
|
2545
|
-
|
|
2546
|
-
|
|
2547
|
-
style: {
|
|
2548
|
-
flex: 1,
|
|
2549
|
-
padding: "8px 12px",
|
|
2550
|
-
borderRadius: "6px",
|
|
2551
|
-
border: `1px solid ${theme.colors.border}`,
|
|
2552
|
-
backgroundColor: theme.colors.background,
|
|
2553
|
-
color: theme.colors.text,
|
|
2554
|
-
fontSize: `${theme.fontSizes[1]}px`,
|
|
2555
|
-
fontFamily: theme.fonts.body,
|
|
2556
|
-
outline: "none"
|
|
2557
|
-
}
|
|
2558
|
-
}
|
|
2559
|
-
),
|
|
2560
|
-
searchQuery && /* @__PURE__ */ jsx(
|
|
2561
|
-
"button",
|
|
2562
|
-
{
|
|
2563
|
-
onClick: () => setSearchQuery(""),
|
|
2564
|
-
style: {
|
|
2565
|
-
display: "flex",
|
|
2566
|
-
alignItems: "center",
|
|
2567
|
-
justifyContent: "center",
|
|
2568
|
-
width: "28px",
|
|
2569
|
-
height: "28px",
|
|
2570
|
-
borderRadius: "6px",
|
|
2571
|
-
border: `1px solid ${theme.colors.border}`,
|
|
2572
|
-
backgroundColor: theme.colors.backgroundTertiary,
|
|
2573
|
-
color: theme.colors.text,
|
|
2574
|
-
cursor: "pointer",
|
|
2575
|
-
transition: "all 0.15s ease"
|
|
2576
|
-
},
|
|
2577
|
-
title: "Clear search",
|
|
2578
|
-
children: /* @__PURE__ */ jsx(X, { size: 16 })
|
|
2579
|
-
}
|
|
2580
|
-
)
|
|
3367
|
+
filteredRepositories.length,
|
|
3368
|
+
" ",
|
|
3369
|
+
filteredRepositories.length === 1 ? "repository" : "repositories",
|
|
3370
|
+
filter && repositories.length !== filteredRepositories.length && /* @__PURE__ */ jsxs("span", { children: [
|
|
3371
|
+
" (filtered from ",
|
|
3372
|
+
repositories.length,
|
|
3373
|
+
")"
|
|
3374
|
+
] })
|
|
2581
3375
|
]
|
|
2582
3376
|
}
|
|
2583
3377
|
),
|
|
@@ -2592,20 +3386,37 @@ const WorkspacesListPanelContent = ({
|
|
|
2592
3386
|
gap: "4px"
|
|
2593
3387
|
},
|
|
2594
3388
|
children: [
|
|
2595
|
-
|
|
2596
|
-
|
|
3389
|
+
repositories.length === 0 && !isLoading && /* @__PURE__ */ jsxs(
|
|
3390
|
+
"div",
|
|
2597
3391
|
{
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
|
|
3392
|
+
style: {
|
|
3393
|
+
padding: "32px",
|
|
3394
|
+
textAlign: "center",
|
|
3395
|
+
color: theme.colors.textSecondary
|
|
3396
|
+
},
|
|
3397
|
+
children: [
|
|
3398
|
+
/* @__PURE__ */ jsx(
|
|
3399
|
+
Folder,
|
|
3400
|
+
{
|
|
3401
|
+
size: 32,
|
|
3402
|
+
style: { marginBottom: "12px", opacity: 0.5 }
|
|
3403
|
+
}
|
|
3404
|
+
),
|
|
3405
|
+
/* @__PURE__ */ jsx("p", { style: { margin: 0 }, children: "No repositories in this workspace." }),
|
|
3406
|
+
/* @__PURE__ */ jsx(
|
|
3407
|
+
"p",
|
|
3408
|
+
{
|
|
3409
|
+
style: {
|
|
3410
|
+
margin: "8px 0 0 0",
|
|
3411
|
+
fontSize: `${theme.fontSizes[0]}px`
|
|
3412
|
+
},
|
|
3413
|
+
children: "Add repositories to organize your projects."
|
|
3414
|
+
}
|
|
3415
|
+
)
|
|
3416
|
+
]
|
|
3417
|
+
}
|
|
3418
|
+
),
|
|
3419
|
+
repositories.length > 0 && filteredRepositories.length === 0 && /* @__PURE__ */ jsx(
|
|
2609
3420
|
"div",
|
|
2610
3421
|
{
|
|
2611
3422
|
style: {
|
|
@@ -2613,18 +3424,29 @@ const WorkspacesListPanelContent = ({
|
|
|
2613
3424
|
textAlign: "center",
|
|
2614
3425
|
color: theme.colors.textSecondary
|
|
2615
3426
|
},
|
|
2616
|
-
children: /* @__PURE__ */ jsx("p", { style: { margin: 0 }, children:
|
|
3427
|
+
children: /* @__PURE__ */ jsx("p", { style: { margin: 0 }, children: "No repositories match your filter." })
|
|
2617
3428
|
}
|
|
2618
|
-
)
|
|
3429
|
+
),
|
|
3430
|
+
filteredRepositories.map((repository) => /* @__PURE__ */ jsx(
|
|
3431
|
+
WorkspaceCollectionRepositoryCard,
|
|
3432
|
+
{
|
|
3433
|
+
repository,
|
|
3434
|
+
isSelected: (selectedRepo == null ? void 0 : selectedRepo.id) === repository.id,
|
|
3435
|
+
onSelect: handleSelectRepository,
|
|
3436
|
+
onNavigate: panelActions.navigateToRepository ? handleNavigateRepository : void 0,
|
|
3437
|
+
onRemove: panelActions.removeRepositoryFromWorkspace ? handleRemoveRepository : void 0
|
|
3438
|
+
},
|
|
3439
|
+
repository.id
|
|
3440
|
+
))
|
|
2619
3441
|
]
|
|
2620
3442
|
}
|
|
2621
3443
|
)
|
|
2622
3444
|
] });
|
|
2623
3445
|
};
|
|
2624
|
-
const
|
|
2625
|
-
return /* @__PURE__ */ jsx(
|
|
3446
|
+
const WorkspaceCollectionPanel = (props) => {
|
|
3447
|
+
return /* @__PURE__ */ jsx(WorkspaceCollectionPanelContent, { ...props });
|
|
2626
3448
|
};
|
|
2627
|
-
const
|
|
3449
|
+
const WorkspaceCollectionPanelPreview = () => {
|
|
2628
3450
|
const { theme } = useTheme();
|
|
2629
3451
|
return /* @__PURE__ */ jsxs(
|
|
2630
3452
|
"div",
|
|
@@ -2649,8 +3471,8 @@ const WorkspacesListPanelPreview = () => {
|
|
|
2649
3471
|
fontWeight: theme.fontWeights.semibold
|
|
2650
3472
|
},
|
|
2651
3473
|
children: [
|
|
2652
|
-
/* @__PURE__ */ jsx(
|
|
2653
|
-
/* @__PURE__ */ jsx("span", { children: "
|
|
3474
|
+
/* @__PURE__ */ jsx(Folder, { size: 16, style: { color: theme.colors.primary } }),
|
|
3475
|
+
/* @__PURE__ */ jsx("span", { children: "Workspace Collection" })
|
|
2654
3476
|
]
|
|
2655
3477
|
}
|
|
2656
3478
|
),
|
|
@@ -2663,7 +3485,7 @@ const WorkspacesListPanelPreview = () => {
|
|
|
2663
3485
|
color: theme.colors.textSecondary,
|
|
2664
3486
|
marginTop: "4px"
|
|
2665
3487
|
},
|
|
2666
|
-
children: "
|
|
3488
|
+
children: "Repositories in your workspace"
|
|
2667
3489
|
}
|
|
2668
3490
|
)
|
|
2669
3491
|
]
|
|
@@ -2854,6 +3676,10 @@ const GitHubRepositoryCard = ({
|
|
|
2854
3676
|
/* @__PURE__ */ jsx(Star, { size: 12 }),
|
|
2855
3677
|
formatNumber(repository.stargazers_count)
|
|
2856
3678
|
] }),
|
|
3679
|
+
repository.license && /* @__PURE__ */ jsxs("span", { style: { display: "flex", alignItems: "center", gap: "4px" }, children: [
|
|
3680
|
+
/* @__PURE__ */ jsx(Scale, { size: 12 }),
|
|
3681
|
+
repository.license
|
|
3682
|
+
] }),
|
|
2857
3683
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
2858
3684
|
"Updated ",
|
|
2859
3685
|
getRelativeTime(repository.pushed_at || repository.updated_at)
|
|
@@ -2998,10 +3824,10 @@ function formatNumber(num) {
|
|
|
2998
3824
|
}
|
|
2999
3825
|
return num.toString();
|
|
3000
3826
|
}
|
|
3001
|
-
const PANEL_ID$
|
|
3827
|
+
const PANEL_ID$9 = "industry-theme.github-starred";
|
|
3002
3828
|
const createPanelEvent$2 = (type, payload) => ({
|
|
3003
3829
|
type,
|
|
3004
|
-
source: PANEL_ID$
|
|
3830
|
+
source: PANEL_ID$9,
|
|
3005
3831
|
timestamp: Date.now(),
|
|
3006
3832
|
payload
|
|
3007
3833
|
});
|
|
@@ -3090,7 +3916,7 @@ const GitHubStarredPanelContent = ({
|
|
|
3090
3916
|
if (panelActions.cloneRepository) {
|
|
3091
3917
|
await panelActions.cloneRepository(repo);
|
|
3092
3918
|
events.emit(
|
|
3093
|
-
createPanelEvent$2(`${PANEL_ID$
|
|
3919
|
+
createPanelEvent$2(`${PANEL_ID$9}:repository-cloned`, {
|
|
3094
3920
|
repository: repo
|
|
3095
3921
|
})
|
|
3096
3922
|
);
|
|
@@ -3110,7 +3936,7 @@ const GitHubStarredPanelContent = ({
|
|
|
3110
3936
|
(repo) => {
|
|
3111
3937
|
setSelectedRepo(repo);
|
|
3112
3938
|
events.emit(
|
|
3113
|
-
createPanelEvent$2(`${PANEL_ID$
|
|
3939
|
+
createPanelEvent$2(`${PANEL_ID$9}:repository-selected`, { repository: repo })
|
|
3114
3940
|
);
|
|
3115
3941
|
},
|
|
3116
3942
|
[events]
|
|
@@ -3122,11 +3948,11 @@ const GitHubStarredPanelContent = ({
|
|
|
3122
3948
|
}, [panelActions]);
|
|
3123
3949
|
useEffect(() => {
|
|
3124
3950
|
const unsubscribers = [
|
|
3125
|
-
events.on(`${PANEL_ID$
|
|
3951
|
+
events.on(`${PANEL_ID$9}:filter`, (event) => {
|
|
3126
3952
|
var _a2;
|
|
3127
3953
|
setFilter(((_a2 = event.payload) == null ? void 0 : _a2.filter) || "");
|
|
3128
3954
|
}),
|
|
3129
|
-
events.on(`${PANEL_ID$
|
|
3955
|
+
events.on(`${PANEL_ID$9}:select-repository`, (event) => {
|
|
3130
3956
|
var _a2;
|
|
3131
3957
|
const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
|
|
3132
3958
|
if (identifier) {
|
|
@@ -3138,7 +3964,7 @@ const GitHubStarredPanelContent = ({
|
|
|
3138
3964
|
}
|
|
3139
3965
|
}
|
|
3140
3966
|
}),
|
|
3141
|
-
events.on(`${PANEL_ID$
|
|
3967
|
+
events.on(`${PANEL_ID$9}:clone-repository`, (event) => {
|
|
3142
3968
|
var _a2;
|
|
3143
3969
|
const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
|
|
3144
3970
|
if (identifier) {
|
|
@@ -3471,10 +4297,10 @@ const GitHubStarredPanelPreview = () => {
|
|
|
3471
4297
|
}
|
|
3472
4298
|
);
|
|
3473
4299
|
};
|
|
3474
|
-
const PANEL_ID$
|
|
4300
|
+
const PANEL_ID$8 = "industry-theme.github-projects";
|
|
3475
4301
|
const createPanelEvent$1 = (type, payload) => ({
|
|
3476
4302
|
type,
|
|
3477
|
-
source: PANEL_ID$
|
|
4303
|
+
source: PANEL_ID$8,
|
|
3478
4304
|
timestamp: Date.now(),
|
|
3479
4305
|
payload
|
|
3480
4306
|
});
|
|
@@ -3577,6 +4403,7 @@ const GitHubProjectsPanelContent = ({
|
|
|
3577
4403
|
const filteredOrgRepos = useMemo(() => {
|
|
3578
4404
|
const result = {};
|
|
3579
4405
|
for (const [orgLogin, repos] of Object.entries(orgRepositories)) {
|
|
4406
|
+
if (!Array.isArray(repos)) continue;
|
|
3580
4407
|
const filtered = filterRepos(repos);
|
|
3581
4408
|
if (filtered.length > 0) {
|
|
3582
4409
|
result[orgLogin] = filtered;
|
|
@@ -3587,7 +4414,9 @@ const GitHubProjectsPanelContent = ({
|
|
|
3587
4414
|
const allRepositories = useMemo(() => {
|
|
3588
4415
|
const all = [...userRepositories];
|
|
3589
4416
|
for (const repos of Object.values(orgRepositories)) {
|
|
3590
|
-
|
|
4417
|
+
if (Array.isArray(repos)) {
|
|
4418
|
+
all.push(...repos);
|
|
4419
|
+
}
|
|
3591
4420
|
}
|
|
3592
4421
|
return all;
|
|
3593
4422
|
}, [userRepositories, orgRepositories]);
|
|
@@ -3597,7 +4426,7 @@ const GitHubProjectsPanelContent = ({
|
|
|
3597
4426
|
if (panelActions.cloneRepository) {
|
|
3598
4427
|
await panelActions.cloneRepository(repo);
|
|
3599
4428
|
events.emit(
|
|
3600
|
-
createPanelEvent$1(`${PANEL_ID$
|
|
4429
|
+
createPanelEvent$1(`${PANEL_ID$8}:repository-cloned`, {
|
|
3601
4430
|
repository: repo
|
|
3602
4431
|
})
|
|
3603
4432
|
);
|
|
@@ -3617,7 +4446,7 @@ const GitHubProjectsPanelContent = ({
|
|
|
3617
4446
|
(repo) => {
|
|
3618
4447
|
setSelectedRepo(repo);
|
|
3619
4448
|
events.emit(
|
|
3620
|
-
createPanelEvent$1(`${PANEL_ID$
|
|
4449
|
+
createPanelEvent$1(`${PANEL_ID$8}:repository-selected`, { repository: repo })
|
|
3621
4450
|
);
|
|
3622
4451
|
},
|
|
3623
4452
|
[events]
|
|
@@ -3640,18 +4469,18 @@ const GitHubProjectsPanelContent = ({
|
|
|
3640
4469
|
}, []);
|
|
3641
4470
|
useEffect(() => {
|
|
3642
4471
|
const unsubscribers = [
|
|
3643
|
-
events.on(`${PANEL_ID$
|
|
4472
|
+
events.on(`${PANEL_ID$8}:filter`, (event) => {
|
|
3644
4473
|
var _a2;
|
|
3645
4474
|
setFilter(((_a2 = event.payload) == null ? void 0 : _a2.filter) || "");
|
|
3646
4475
|
}),
|
|
3647
|
-
events.on(`${PANEL_ID$
|
|
4476
|
+
events.on(`${PANEL_ID$8}:toggle-section`, (event) => {
|
|
3648
4477
|
var _a2;
|
|
3649
4478
|
const owner = (_a2 = event.payload) == null ? void 0 : _a2.owner;
|
|
3650
4479
|
if (owner) {
|
|
3651
4480
|
toggleSection(owner);
|
|
3652
4481
|
}
|
|
3653
4482
|
}),
|
|
3654
|
-
events.on(`${PANEL_ID$
|
|
4483
|
+
events.on(`${PANEL_ID$8}:select-repository`, (event) => {
|
|
3655
4484
|
var _a2;
|
|
3656
4485
|
const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
|
|
3657
4486
|
if (identifier) {
|
|
@@ -3663,7 +4492,7 @@ const GitHubProjectsPanelContent = ({
|
|
|
3663
4492
|
}
|
|
3664
4493
|
}
|
|
3665
4494
|
}),
|
|
3666
|
-
events.on(`${PANEL_ID$
|
|
4495
|
+
events.on(`${PANEL_ID$8}:clone-repository`, (event) => {
|
|
3667
4496
|
var _a2;
|
|
3668
4497
|
const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
|
|
3669
4498
|
if (identifier) {
|
|
@@ -4107,10 +4936,10 @@ const GitHubProjectsPanelPreview = () => {
|
|
|
4107
4936
|
}
|
|
4108
4937
|
);
|
|
4109
4938
|
};
|
|
4110
|
-
const PANEL_ID$
|
|
4939
|
+
const PANEL_ID$7 = "industry-theme.user-profile";
|
|
4111
4940
|
const createPanelEvent = (type, payload) => ({
|
|
4112
4941
|
type,
|
|
4113
|
-
source: PANEL_ID$
|
|
4942
|
+
source: PANEL_ID$7,
|
|
4114
4943
|
timestamp: Date.now(),
|
|
4115
4944
|
payload
|
|
4116
4945
|
});
|
|
@@ -4388,7 +5217,7 @@ const UserProfilePanelContent = ({
|
|
|
4388
5217
|
(organization) => {
|
|
4389
5218
|
var _a2;
|
|
4390
5219
|
events.emit(
|
|
4391
|
-
createPanelEvent(`${PANEL_ID$
|
|
5220
|
+
createPanelEvent(`${PANEL_ID$7}:organization:selected`, {
|
|
4392
5221
|
orgLogin: organization.login,
|
|
4393
5222
|
organization
|
|
4394
5223
|
})
|
|
@@ -4401,7 +5230,7 @@ const UserProfilePanelContent = ({
|
|
|
4401
5230
|
(repository) => {
|
|
4402
5231
|
var _a2;
|
|
4403
5232
|
events.emit(
|
|
4404
|
-
createPanelEvent(`${PANEL_ID$
|
|
5233
|
+
createPanelEvent(`${PANEL_ID$7}:repository:selected`, {
|
|
4405
5234
|
owner: repository.owner.login,
|
|
4406
5235
|
repo: repository.name,
|
|
4407
5236
|
repository
|
|
@@ -4415,7 +5244,7 @@ const UserProfilePanelContent = ({
|
|
|
4415
5244
|
(repository) => {
|
|
4416
5245
|
var _a2;
|
|
4417
5246
|
events.emit(
|
|
4418
|
-
createPanelEvent(`${PANEL_ID$
|
|
5247
|
+
createPanelEvent(`${PANEL_ID$7}:repository:clone-requested`, {
|
|
4419
5248
|
repository
|
|
4420
5249
|
})
|
|
4421
5250
|
);
|
|
@@ -4435,19 +5264,19 @@ const UserProfilePanelContent = ({
|
|
|
4435
5264
|
setActiveView(view);
|
|
4436
5265
|
setSearchQuery("");
|
|
4437
5266
|
setShowSearchBox(false);
|
|
4438
|
-
events.emit(createPanelEvent(`${PANEL_ID$
|
|
5267
|
+
events.emit(createPanelEvent(`${PANEL_ID$7}:view:changed`, { view }));
|
|
4439
5268
|
},
|
|
4440
5269
|
[events]
|
|
4441
5270
|
);
|
|
4442
5271
|
useEffect(() => {
|
|
4443
5272
|
const unsubscribers = [
|
|
4444
|
-
events.on(`${PANEL_ID$
|
|
5273
|
+
events.on(`${PANEL_ID$7}:set-view`, (event) => {
|
|
4445
5274
|
var _a2;
|
|
4446
5275
|
if ((_a2 = event.payload) == null ? void 0 : _a2.view) {
|
|
4447
5276
|
handleViewChange(event.payload.view);
|
|
4448
5277
|
}
|
|
4449
5278
|
}),
|
|
4450
|
-
events.on(`${PANEL_ID$
|
|
5279
|
+
events.on(`${PANEL_ID$7}:select-organization`, (event) => {
|
|
4451
5280
|
var _a2;
|
|
4452
5281
|
const orgLogin = (_a2 = event.payload) == null ? void 0 : _a2.orgLogin;
|
|
4453
5282
|
if (orgLogin) {
|
|
@@ -4457,7 +5286,7 @@ const UserProfilePanelContent = ({
|
|
|
4457
5286
|
}
|
|
4458
5287
|
}
|
|
4459
5288
|
}),
|
|
4460
|
-
events.on(`${PANEL_ID$
|
|
5289
|
+
events.on(`${PANEL_ID$7}:select-repository`, (event) => {
|
|
4461
5290
|
const { owner, repo } = event.payload || {};
|
|
4462
5291
|
if (owner && repo) {
|
|
4463
5292
|
const repository = starredRepositories.find(
|
|
@@ -4468,7 +5297,7 @@ const UserProfilePanelContent = ({
|
|
|
4468
5297
|
}
|
|
4469
5298
|
}
|
|
4470
5299
|
}),
|
|
4471
|
-
events.on(`${PANEL_ID$
|
|
5300
|
+
events.on(`${PANEL_ID$7}:clone-repository`, (event) => {
|
|
4472
5301
|
const { owner, repo } = event.payload || {};
|
|
4473
5302
|
if (owner && repo) {
|
|
4474
5303
|
const repository = starredRepositories.find(
|
|
@@ -4479,7 +5308,7 @@ const UserProfilePanelContent = ({
|
|
|
4479
5308
|
}
|
|
4480
5309
|
}
|
|
4481
5310
|
}),
|
|
4482
|
-
events.on(`${PANEL_ID$
|
|
5311
|
+
events.on(`${PANEL_ID$7}:filter-starred`, (event) => {
|
|
4483
5312
|
var _a2;
|
|
4484
5313
|
if (((_a2 = event.payload) == null ? void 0 : _a2.filter) !== void 0) {
|
|
4485
5314
|
setSearchQuery(event.payload.filter);
|
|
@@ -4993,7 +5822,7 @@ const UserProfilePanelPreview = () => {
|
|
|
4993
5822
|
}
|
|
4994
5823
|
);
|
|
4995
5824
|
};
|
|
4996
|
-
const PANEL_ID$
|
|
5825
|
+
const PANEL_ID$6 = "industry-theme.local-projects";
|
|
4997
5826
|
const filterProjectsTool$1 = {
|
|
4998
5827
|
name: "filter_projects",
|
|
4999
5828
|
description: "Filter the local projects list by name, owner, or path",
|
|
@@ -5017,7 +5846,7 @@ const filterProjectsTool$1 = {
|
|
|
5017
5846
|
tags: ["filter", "search", "projects"],
|
|
5018
5847
|
tool_call_template: {
|
|
5019
5848
|
call_template_type: "panel_event",
|
|
5020
|
-
event_type: `${PANEL_ID$
|
|
5849
|
+
event_type: `${PANEL_ID$6}:filter`
|
|
5021
5850
|
}
|
|
5022
5851
|
};
|
|
5023
5852
|
const selectProjectTool = {
|
|
@@ -5043,7 +5872,7 @@ const selectProjectTool = {
|
|
|
5043
5872
|
tags: ["select", "project", "navigation"],
|
|
5044
5873
|
tool_call_template: {
|
|
5045
5874
|
call_template_type: "panel_event",
|
|
5046
|
-
event_type: `${PANEL_ID$
|
|
5875
|
+
event_type: `${PANEL_ID$6}:select-repository`
|
|
5047
5876
|
}
|
|
5048
5877
|
};
|
|
5049
5878
|
const openProjectTool = {
|
|
@@ -5069,7 +5898,7 @@ const openProjectTool = {
|
|
|
5069
5898
|
tags: ["open", "project", "workspace"],
|
|
5070
5899
|
tool_call_template: {
|
|
5071
5900
|
call_template_type: "panel_event",
|
|
5072
|
-
event_type: `${PANEL_ID$
|
|
5901
|
+
event_type: `${PANEL_ID$6}:open-repository`
|
|
5073
5902
|
}
|
|
5074
5903
|
};
|
|
5075
5904
|
const localProjectsPanelTools = [
|
|
@@ -5078,13 +5907,13 @@ const localProjectsPanelTools = [
|
|
|
5078
5907
|
openProjectTool
|
|
5079
5908
|
];
|
|
5080
5909
|
const localProjectsPanelToolsMetadata = {
|
|
5081
|
-
id: PANEL_ID$
|
|
5910
|
+
id: PANEL_ID$6,
|
|
5082
5911
|
name: "Local Projects Panel",
|
|
5083
5912
|
description: "Tools for browsing and managing local Alexandria repositories",
|
|
5084
5913
|
tools: localProjectsPanelTools
|
|
5085
5914
|
};
|
|
5086
|
-
const PANEL_ID$
|
|
5087
|
-
const selectRepositoryTool$
|
|
5915
|
+
const PANEL_ID$5 = "industry-theme.workspace-repositories";
|
|
5916
|
+
const selectRepositoryTool$2 = {
|
|
5088
5917
|
name: "select_workspace_repository",
|
|
5089
5918
|
description: "Selects a repository in the workspace panel",
|
|
5090
5919
|
inputs: {
|
|
@@ -5107,7 +5936,7 @@ const selectRepositoryTool$1 = {
|
|
|
5107
5936
|
tags: ["workspace", "repository", "select"],
|
|
5108
5937
|
tool_call_template: {
|
|
5109
5938
|
call_template_type: "panel_event",
|
|
5110
|
-
event_type: `${PANEL_ID$
|
|
5939
|
+
event_type: `${PANEL_ID$5}:select-repository`
|
|
5111
5940
|
}
|
|
5112
5941
|
};
|
|
5113
5942
|
const refreshWorkspaceTool = {
|
|
@@ -5132,7 +5961,7 @@ const refreshWorkspaceTool = {
|
|
|
5132
5961
|
tags: ["workspace", "refresh"],
|
|
5133
5962
|
tool_call_template: {
|
|
5134
5963
|
call_template_type: "panel_event",
|
|
5135
|
-
event_type: `${PANEL_ID$
|
|
5964
|
+
event_type: `${PANEL_ID$5}:refresh-workspace`
|
|
5136
5965
|
}
|
|
5137
5966
|
};
|
|
5138
5967
|
const openRepositoryTool = {
|
|
@@ -5158,21 +5987,21 @@ const openRepositoryTool = {
|
|
|
5158
5987
|
tags: ["workspace", "repository", "open"],
|
|
5159
5988
|
tool_call_template: {
|
|
5160
5989
|
call_template_type: "panel_event",
|
|
5161
|
-
event_type: `${PANEL_ID$
|
|
5990
|
+
event_type: `${PANEL_ID$5}:open-repository`
|
|
5162
5991
|
}
|
|
5163
5992
|
};
|
|
5164
5993
|
const workspaceRepositoriesPanelTools = [
|
|
5165
|
-
selectRepositoryTool$
|
|
5994
|
+
selectRepositoryTool$2,
|
|
5166
5995
|
refreshWorkspaceTool,
|
|
5167
5996
|
openRepositoryTool
|
|
5168
5997
|
];
|
|
5169
5998
|
const workspaceRepositoriesPanelToolsMetadata = {
|
|
5170
|
-
id: PANEL_ID$
|
|
5999
|
+
id: PANEL_ID$5,
|
|
5171
6000
|
name: "Workspace Repositories Panel",
|
|
5172
6001
|
description: "Tools provided by the workspace repositories panel",
|
|
5173
6002
|
tools: workspaceRepositoriesPanelTools
|
|
5174
6003
|
};
|
|
5175
|
-
const PANEL_ID$
|
|
6004
|
+
const PANEL_ID$4 = "industry-theme.workspaces-list";
|
|
5176
6005
|
const filterWorkspacesTool = {
|
|
5177
6006
|
name: "filter_workspaces",
|
|
5178
6007
|
description: "Filter the workspaces list by workspace name, description, or repository names within workspaces",
|
|
@@ -5196,7 +6025,7 @@ const filterWorkspacesTool = {
|
|
|
5196
6025
|
tags: ["filter", "search", "workspaces"],
|
|
5197
6026
|
tool_call_template: {
|
|
5198
6027
|
call_template_type: "panel_event",
|
|
5199
|
-
event_type: `${PANEL_ID$
|
|
6028
|
+
event_type: `${PANEL_ID$4}:filter`
|
|
5200
6029
|
}
|
|
5201
6030
|
};
|
|
5202
6031
|
const selectWorkspaceTool = {
|
|
@@ -5222,7 +6051,7 @@ const selectWorkspaceTool = {
|
|
|
5222
6051
|
tags: ["select", "workspace", "navigation"],
|
|
5223
6052
|
tool_call_template: {
|
|
5224
6053
|
call_template_type: "panel_event",
|
|
5225
|
-
event_type: `${PANEL_ID$
|
|
6054
|
+
event_type: `${PANEL_ID$4}:select-workspace`
|
|
5226
6055
|
}
|
|
5227
6056
|
};
|
|
5228
6057
|
const openWorkspaceTool = {
|
|
@@ -5248,7 +6077,7 @@ const openWorkspaceTool = {
|
|
|
5248
6077
|
tags: ["open", "workspace", "window"],
|
|
5249
6078
|
tool_call_template: {
|
|
5250
6079
|
call_template_type: "panel_event",
|
|
5251
|
-
event_type: `${PANEL_ID$
|
|
6080
|
+
event_type: `${PANEL_ID$4}:open-workspace`
|
|
5252
6081
|
}
|
|
5253
6082
|
};
|
|
5254
6083
|
const createWorkspaceTool = {
|
|
@@ -5279,7 +6108,7 @@ const createWorkspaceTool = {
|
|
|
5279
6108
|
tags: ["create", "workspace", "new"],
|
|
5280
6109
|
tool_call_template: {
|
|
5281
6110
|
call_template_type: "panel_event",
|
|
5282
|
-
event_type: `${PANEL_ID$
|
|
6111
|
+
event_type: `${PANEL_ID$4}:create-workspace`
|
|
5283
6112
|
}
|
|
5284
6113
|
};
|
|
5285
6114
|
const workspacesListPanelTools = [
|
|
@@ -5289,11 +6118,154 @@ const workspacesListPanelTools = [
|
|
|
5289
6118
|
createWorkspaceTool
|
|
5290
6119
|
];
|
|
5291
6120
|
const workspacesListPanelToolsMetadata = {
|
|
5292
|
-
id: PANEL_ID$
|
|
6121
|
+
id: PANEL_ID$4,
|
|
5293
6122
|
name: "Workspaces List Panel",
|
|
5294
6123
|
description: "Tools for browsing and managing workspaces",
|
|
5295
6124
|
tools: workspacesListPanelTools
|
|
5296
6125
|
};
|
|
6126
|
+
const PANEL_ID$3 = "industry-theme.workspace-collection";
|
|
6127
|
+
const filterRepositoriesTool = {
|
|
6128
|
+
name: "filter_workspace_collection",
|
|
6129
|
+
description: "Filters repositories in the workspace collection by search term",
|
|
6130
|
+
inputs: {
|
|
6131
|
+
type: "object",
|
|
6132
|
+
properties: {
|
|
6133
|
+
filter: {
|
|
6134
|
+
type: "string",
|
|
6135
|
+
description: "Search term to filter repositories by name, owner, or description"
|
|
6136
|
+
}
|
|
6137
|
+
},
|
|
6138
|
+
required: ["filter"]
|
|
6139
|
+
},
|
|
6140
|
+
outputs: {
|
|
6141
|
+
type: "object",
|
|
6142
|
+
properties: {
|
|
6143
|
+
success: { type: "boolean" },
|
|
6144
|
+
matchCount: { type: "number" }
|
|
6145
|
+
}
|
|
6146
|
+
},
|
|
6147
|
+
tags: ["workspace", "repository", "filter", "search"],
|
|
6148
|
+
tool_call_template: {
|
|
6149
|
+
call_template_type: "panel_event",
|
|
6150
|
+
event_type: `${PANEL_ID$3}:filter`
|
|
6151
|
+
}
|
|
6152
|
+
};
|
|
6153
|
+
const selectRepositoryTool$1 = {
|
|
6154
|
+
name: "select_collection_repository",
|
|
6155
|
+
description: "Selects a repository in the workspace collection panel",
|
|
6156
|
+
inputs: {
|
|
6157
|
+
type: "object",
|
|
6158
|
+
properties: {
|
|
6159
|
+
repositoryKey: {
|
|
6160
|
+
type: "string",
|
|
6161
|
+
description: 'Repository identifier in "owner/repo" format or just the repository name'
|
|
6162
|
+
}
|
|
6163
|
+
},
|
|
6164
|
+
required: ["repositoryKey"]
|
|
6165
|
+
},
|
|
6166
|
+
outputs: {
|
|
6167
|
+
type: "object",
|
|
6168
|
+
properties: {
|
|
6169
|
+
success: { type: "boolean" },
|
|
6170
|
+
message: { type: "string" }
|
|
6171
|
+
}
|
|
6172
|
+
},
|
|
6173
|
+
tags: ["workspace", "repository", "select"],
|
|
6174
|
+
tool_call_template: {
|
|
6175
|
+
call_template_type: "panel_event",
|
|
6176
|
+
event_type: `${PANEL_ID$3}:select-repository`
|
|
6177
|
+
}
|
|
6178
|
+
};
|
|
6179
|
+
const navigateRepositoryTool = {
|
|
6180
|
+
name: "navigate_collection_repository",
|
|
6181
|
+
description: "Navigates to the full repository page for a repository in the workspace",
|
|
6182
|
+
inputs: {
|
|
6183
|
+
type: "object",
|
|
6184
|
+
properties: {
|
|
6185
|
+
repositoryKey: {
|
|
6186
|
+
type: "string",
|
|
6187
|
+
description: 'Repository identifier in "owner/repo" format or just the repository name'
|
|
6188
|
+
}
|
|
6189
|
+
},
|
|
6190
|
+
required: ["repositoryKey"]
|
|
6191
|
+
},
|
|
6192
|
+
outputs: {
|
|
6193
|
+
type: "object",
|
|
6194
|
+
properties: {
|
|
6195
|
+
success: { type: "boolean" },
|
|
6196
|
+
message: { type: "string" }
|
|
6197
|
+
}
|
|
6198
|
+
},
|
|
6199
|
+
tags: ["workspace", "repository", "navigate", "open"],
|
|
6200
|
+
tool_call_template: {
|
|
6201
|
+
call_template_type: "panel_event",
|
|
6202
|
+
event_type: `${PANEL_ID$3}:navigate-repository`
|
|
6203
|
+
}
|
|
6204
|
+
};
|
|
6205
|
+
const removeRepositoryTool = {
|
|
6206
|
+
name: "remove_collection_repository",
|
|
6207
|
+
description: "Removes a repository from the current workspace",
|
|
6208
|
+
inputs: {
|
|
6209
|
+
type: "object",
|
|
6210
|
+
properties: {
|
|
6211
|
+
repositoryKey: {
|
|
6212
|
+
type: "string",
|
|
6213
|
+
description: 'Repository identifier in "owner/repo" format or just the repository name'
|
|
6214
|
+
}
|
|
6215
|
+
},
|
|
6216
|
+
required: ["repositoryKey"]
|
|
6217
|
+
},
|
|
6218
|
+
outputs: {
|
|
6219
|
+
type: "object",
|
|
6220
|
+
properties: {
|
|
6221
|
+
success: { type: "boolean" },
|
|
6222
|
+
message: { type: "string" }
|
|
6223
|
+
}
|
|
6224
|
+
},
|
|
6225
|
+
tags: ["workspace", "repository", "remove", "delete"],
|
|
6226
|
+
tool_call_template: {
|
|
6227
|
+
call_template_type: "panel_event",
|
|
6228
|
+
event_type: `${PANEL_ID$3}:remove-repository`
|
|
6229
|
+
}
|
|
6230
|
+
};
|
|
6231
|
+
const refreshWorkspaceCollectionTool = {
|
|
6232
|
+
name: "refresh_workspace_collection",
|
|
6233
|
+
description: "Refreshes the workspace collection repository list",
|
|
6234
|
+
inputs: {
|
|
6235
|
+
type: "object",
|
|
6236
|
+
properties: {
|
|
6237
|
+
force: {
|
|
6238
|
+
type: "boolean",
|
|
6239
|
+
description: "Force refresh even if data is fresh"
|
|
6240
|
+
}
|
|
6241
|
+
}
|
|
6242
|
+
},
|
|
6243
|
+
outputs: {
|
|
6244
|
+
type: "object",
|
|
6245
|
+
properties: {
|
|
6246
|
+
success: { type: "boolean" },
|
|
6247
|
+
repositoryCount: { type: "number" }
|
|
6248
|
+
}
|
|
6249
|
+
},
|
|
6250
|
+
tags: ["workspace", "refresh"],
|
|
6251
|
+
tool_call_template: {
|
|
6252
|
+
call_template_type: "panel_event",
|
|
6253
|
+
event_type: `${PANEL_ID$3}:refresh-workspace`
|
|
6254
|
+
}
|
|
6255
|
+
};
|
|
6256
|
+
const workspaceCollectionPanelTools = [
|
|
6257
|
+
filterRepositoriesTool,
|
|
6258
|
+
selectRepositoryTool$1,
|
|
6259
|
+
navigateRepositoryTool,
|
|
6260
|
+
removeRepositoryTool,
|
|
6261
|
+
refreshWorkspaceCollectionTool
|
|
6262
|
+
];
|
|
6263
|
+
const workspaceCollectionPanelToolsMetadata = {
|
|
6264
|
+
id: PANEL_ID$3,
|
|
6265
|
+
name: "Workspace Collection Panel",
|
|
6266
|
+
description: "Tools provided by the browser-based workspace collection panel",
|
|
6267
|
+
tools: workspaceCollectionPanelTools
|
|
6268
|
+
};
|
|
5297
6269
|
const PANEL_ID$2 = "industry-theme.github-starred";
|
|
5298
6270
|
const filterStarredTool$1 = {
|
|
5299
6271
|
name: "filter_starred_repositories",
|
|
@@ -5752,6 +6724,26 @@ const panels = [
|
|
|
5752
6724
|
console.log("Workspaces List Panel unmounting");
|
|
5753
6725
|
}
|
|
5754
6726
|
},
|
|
6727
|
+
{
|
|
6728
|
+
metadata: {
|
|
6729
|
+
id: "industry-theme.workspace-collection",
|
|
6730
|
+
name: "Workspace Collection",
|
|
6731
|
+
icon: "FolderOpen",
|
|
6732
|
+
version: "0.1.0",
|
|
6733
|
+
author: "Industry Theme",
|
|
6734
|
+
description: "Browse repositories in a workspace (browser)",
|
|
6735
|
+
slices: ["workspace", "workspaceRepositories"],
|
|
6736
|
+
tools: workspaceCollectionPanelTools
|
|
6737
|
+
},
|
|
6738
|
+
component: WorkspaceCollectionPanel,
|
|
6739
|
+
onMount: async (context) => {
|
|
6740
|
+
console.log("Workspace Collection Panel mounted");
|
|
6741
|
+
console.log("Current scope:", context.currentScope.type);
|
|
6742
|
+
},
|
|
6743
|
+
onUnmount: async (_context) => {
|
|
6744
|
+
console.log("Workspace Collection Panel unmounting");
|
|
6745
|
+
}
|
|
6746
|
+
},
|
|
5755
6747
|
{
|
|
5756
6748
|
metadata: {
|
|
5757
6749
|
id: "industry-theme.github-starred",
|
|
@@ -5838,6 +6830,8 @@ export {
|
|
|
5838
6830
|
UserProfilePanel,
|
|
5839
6831
|
UserProfilePanelPreview,
|
|
5840
6832
|
WorkspaceCard,
|
|
6833
|
+
WorkspaceCollectionPanel,
|
|
6834
|
+
WorkspaceCollectionPanelPreview,
|
|
5841
6835
|
WorkspaceRepositoriesPanel,
|
|
5842
6836
|
WorkspacesListPanel,
|
|
5843
6837
|
WorkspacesListPanelPreview,
|
|
@@ -5847,6 +6841,7 @@ export {
|
|
|
5847
6841
|
createWorkspaceTool,
|
|
5848
6842
|
filterProjectsTool as filterGitHubProjectsTool,
|
|
5849
6843
|
filterProjectsTool$1 as filterProjectsTool,
|
|
6844
|
+
filterRepositoriesTool,
|
|
5850
6845
|
filterStarredTool$1 as filterStarredTool,
|
|
5851
6846
|
filterStarredTool as filterUserStarredTool,
|
|
5852
6847
|
filterWorkspacesTool,
|
|
@@ -5856,17 +6851,21 @@ export {
|
|
|
5856
6851
|
githubStarredPanelToolsMetadata,
|
|
5857
6852
|
localProjectsPanelTools,
|
|
5858
6853
|
localProjectsPanelToolsMetadata,
|
|
6854
|
+
navigateRepositoryTool,
|
|
5859
6855
|
onPackageLoad,
|
|
5860
6856
|
onPackageUnload,
|
|
5861
6857
|
openProjectTool,
|
|
5862
6858
|
openRepositoryTool,
|
|
5863
6859
|
openWorkspaceTool,
|
|
5864
6860
|
panels,
|
|
6861
|
+
refreshWorkspaceCollectionTool,
|
|
5865
6862
|
refreshWorkspaceTool,
|
|
6863
|
+
removeRepositoryTool,
|
|
6864
|
+
selectRepositoryTool$1 as selectCollectionRepositoryTool,
|
|
5866
6865
|
selectOrganizationTool,
|
|
5867
6866
|
selectProjectRepositoryTool,
|
|
5868
6867
|
selectProjectTool,
|
|
5869
|
-
selectRepositoryTool$
|
|
6868
|
+
selectRepositoryTool$2 as selectRepositoryTool,
|
|
5870
6869
|
selectStarredRepositoryTool,
|
|
5871
6870
|
selectRepositoryTool as selectUserRepositoryTool,
|
|
5872
6871
|
selectWorkspaceTool,
|
|
@@ -5875,6 +6874,8 @@ export {
|
|
|
5875
6874
|
userProfilePanelToolsMetadata,
|
|
5876
6875
|
viewOrganizationsTool,
|
|
5877
6876
|
viewStarredTool,
|
|
6877
|
+
workspaceCollectionPanelTools,
|
|
6878
|
+
workspaceCollectionPanelToolsMetadata,
|
|
5878
6879
|
workspaceRepositoriesPanelTools,
|
|
5879
6880
|
workspaceRepositoriesPanelToolsMetadata,
|
|
5880
6881
|
workspacesListPanelTools,
|