@industry-theme/alexandria-panels 0.1.15 → 0.1.17
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 +1183 -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,778 @@ 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
|
+
repositories.length > 0 && /* @__PURE__ */ jsxs("div", { style: { position: "relative" }, children: [
|
|
3277
|
+
/* @__PURE__ */ jsx(
|
|
3278
|
+
Search,
|
|
3279
|
+
{
|
|
3280
|
+
size: 16,
|
|
3281
|
+
style: {
|
|
3282
|
+
position: "absolute",
|
|
3283
|
+
top: "50%",
|
|
3284
|
+
left: "12px",
|
|
3285
|
+
transform: "translateY(-50%)",
|
|
3286
|
+
color: theme.colors.textSecondary,
|
|
3287
|
+
pointerEvents: "none"
|
|
3288
|
+
}
|
|
3289
|
+
}
|
|
3290
|
+
),
|
|
3291
|
+
/* @__PURE__ */ jsx(
|
|
3292
|
+
"input",
|
|
3293
|
+
{
|
|
3294
|
+
type: "text",
|
|
3295
|
+
value: filter,
|
|
3296
|
+
placeholder: "Filter repositories...",
|
|
3297
|
+
onChange: (e) => setFilter(e.target.value),
|
|
3298
|
+
style: {
|
|
3299
|
+
width: "100%",
|
|
3300
|
+
padding: "8px 12px 8px 36px",
|
|
3301
|
+
borderRadius: "6px",
|
|
3302
|
+
border: `1px solid ${theme.colors.border}`,
|
|
3303
|
+
backgroundColor: theme.colors.background,
|
|
3304
|
+
color: theme.colors.text,
|
|
3305
|
+
fontSize: `${theme.fontSizes[1]}px`,
|
|
3306
|
+
fontFamily: theme.fonts.body,
|
|
3307
|
+
outline: "none"
|
|
3308
|
+
}
|
|
3309
|
+
}
|
|
3310
|
+
)
|
|
3311
|
+
] }),
|
|
3312
|
+
error && /* @__PURE__ */ jsx(
|
|
3313
|
+
"div",
|
|
3314
|
+
{
|
|
3315
|
+
style: {
|
|
3316
|
+
display: "flex",
|
|
3317
|
+
alignItems: "center",
|
|
3318
|
+
gap: "8px",
|
|
3319
|
+
padding: "10px 14px",
|
|
3320
|
+
borderRadius: "6px",
|
|
3321
|
+
backgroundColor: `${theme.colors.error || "#ef4444"}20`,
|
|
3322
|
+
color: theme.colors.error || "#ef4444",
|
|
3323
|
+
fontSize: `${theme.fontSizes[1]}px`,
|
|
3324
|
+
fontFamily: theme.fonts.body
|
|
3325
|
+
},
|
|
3326
|
+
children: /* @__PURE__ */ jsx("span", { children: error })
|
|
3327
|
+
}
|
|
3328
|
+
),
|
|
3329
|
+
/* @__PURE__ */ jsxs(
|
|
3330
|
+
"div",
|
|
3331
|
+
{
|
|
3332
|
+
style: {
|
|
3333
|
+
fontSize: `${theme.fontSizes[0]}px`,
|
|
3334
|
+
fontFamily: theme.fonts.body,
|
|
3335
|
+
color: theme.colors.textSecondary,
|
|
3336
|
+
textTransform: "uppercase",
|
|
3337
|
+
letterSpacing: "0.5px"
|
|
2537
3338
|
},
|
|
2538
3339
|
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
|
-
)
|
|
3340
|
+
filteredRepositories.length,
|
|
3341
|
+
" ",
|
|
3342
|
+
filteredRepositories.length === 1 ? "repository" : "repositories",
|
|
3343
|
+
filter && repositories.length !== filteredRepositories.length && /* @__PURE__ */ jsxs("span", { children: [
|
|
3344
|
+
" (filtered from ",
|
|
3345
|
+
repositories.length,
|
|
3346
|
+
")"
|
|
3347
|
+
] })
|
|
2581
3348
|
]
|
|
2582
3349
|
}
|
|
2583
3350
|
),
|
|
@@ -2592,20 +3359,37 @@ const WorkspacesListPanelContent = ({
|
|
|
2592
3359
|
gap: "4px"
|
|
2593
3360
|
},
|
|
2594
3361
|
children: [
|
|
2595
|
-
|
|
2596
|
-
|
|
3362
|
+
repositories.length === 0 && !isLoading && /* @__PURE__ */ jsxs(
|
|
3363
|
+
"div",
|
|
2597
3364
|
{
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
|
|
3365
|
+
style: {
|
|
3366
|
+
padding: "32px",
|
|
3367
|
+
textAlign: "center",
|
|
3368
|
+
color: theme.colors.textSecondary
|
|
3369
|
+
},
|
|
3370
|
+
children: [
|
|
3371
|
+
/* @__PURE__ */ jsx(
|
|
3372
|
+
Folder,
|
|
3373
|
+
{
|
|
3374
|
+
size: 32,
|
|
3375
|
+
style: { marginBottom: "12px", opacity: 0.5 }
|
|
3376
|
+
}
|
|
3377
|
+
),
|
|
3378
|
+
/* @__PURE__ */ jsx("p", { style: { margin: 0 }, children: "No repositories in this workspace." }),
|
|
3379
|
+
/* @__PURE__ */ jsx(
|
|
3380
|
+
"p",
|
|
3381
|
+
{
|
|
3382
|
+
style: {
|
|
3383
|
+
margin: "8px 0 0 0",
|
|
3384
|
+
fontSize: `${theme.fontSizes[0]}px`
|
|
3385
|
+
},
|
|
3386
|
+
children: "Add repositories to organize your projects."
|
|
3387
|
+
}
|
|
3388
|
+
)
|
|
3389
|
+
]
|
|
3390
|
+
}
|
|
3391
|
+
),
|
|
3392
|
+
repositories.length > 0 && filteredRepositories.length === 0 && /* @__PURE__ */ jsx(
|
|
2609
3393
|
"div",
|
|
2610
3394
|
{
|
|
2611
3395
|
style: {
|
|
@@ -2613,18 +3397,29 @@ const WorkspacesListPanelContent = ({
|
|
|
2613
3397
|
textAlign: "center",
|
|
2614
3398
|
color: theme.colors.textSecondary
|
|
2615
3399
|
},
|
|
2616
|
-
children: /* @__PURE__ */ jsx("p", { style: { margin: 0 }, children:
|
|
3400
|
+
children: /* @__PURE__ */ jsx("p", { style: { margin: 0 }, children: "No repositories match your filter." })
|
|
2617
3401
|
}
|
|
2618
|
-
)
|
|
3402
|
+
),
|
|
3403
|
+
filteredRepositories.map((repository) => /* @__PURE__ */ jsx(
|
|
3404
|
+
WorkspaceCollectionRepositoryCard,
|
|
3405
|
+
{
|
|
3406
|
+
repository,
|
|
3407
|
+
isSelected: (selectedRepo == null ? void 0 : selectedRepo.id) === repository.id,
|
|
3408
|
+
onSelect: handleSelectRepository,
|
|
3409
|
+
onNavigate: panelActions.navigateToRepository ? handleNavigateRepository : void 0,
|
|
3410
|
+
onRemove: panelActions.removeRepositoryFromWorkspace ? handleRemoveRepository : void 0
|
|
3411
|
+
},
|
|
3412
|
+
repository.id
|
|
3413
|
+
))
|
|
2619
3414
|
]
|
|
2620
3415
|
}
|
|
2621
3416
|
)
|
|
2622
3417
|
] });
|
|
2623
3418
|
};
|
|
2624
|
-
const
|
|
2625
|
-
return /* @__PURE__ */ jsx(
|
|
3419
|
+
const WorkspaceCollectionPanel = (props) => {
|
|
3420
|
+
return /* @__PURE__ */ jsx(WorkspaceCollectionPanelContent, { ...props });
|
|
2626
3421
|
};
|
|
2627
|
-
const
|
|
3422
|
+
const WorkspaceCollectionPanelPreview = () => {
|
|
2628
3423
|
const { theme } = useTheme();
|
|
2629
3424
|
return /* @__PURE__ */ jsxs(
|
|
2630
3425
|
"div",
|
|
@@ -2649,8 +3444,8 @@ const WorkspacesListPanelPreview = () => {
|
|
|
2649
3444
|
fontWeight: theme.fontWeights.semibold
|
|
2650
3445
|
},
|
|
2651
3446
|
children: [
|
|
2652
|
-
/* @__PURE__ */ jsx(
|
|
2653
|
-
/* @__PURE__ */ jsx("span", { children: "
|
|
3447
|
+
/* @__PURE__ */ jsx(Folder, { size: 16, style: { color: theme.colors.primary } }),
|
|
3448
|
+
/* @__PURE__ */ jsx("span", { children: "Workspace Collection" })
|
|
2654
3449
|
]
|
|
2655
3450
|
}
|
|
2656
3451
|
),
|
|
@@ -2663,7 +3458,7 @@ const WorkspacesListPanelPreview = () => {
|
|
|
2663
3458
|
color: theme.colors.textSecondary,
|
|
2664
3459
|
marginTop: "4px"
|
|
2665
3460
|
},
|
|
2666
|
-
children: "
|
|
3461
|
+
children: "Repositories in your workspace"
|
|
2667
3462
|
}
|
|
2668
3463
|
)
|
|
2669
3464
|
]
|
|
@@ -2854,6 +3649,10 @@ const GitHubRepositoryCard = ({
|
|
|
2854
3649
|
/* @__PURE__ */ jsx(Star, { size: 12 }),
|
|
2855
3650
|
formatNumber(repository.stargazers_count)
|
|
2856
3651
|
] }),
|
|
3652
|
+
repository.license && /* @__PURE__ */ jsxs("span", { style: { display: "flex", alignItems: "center", gap: "4px" }, children: [
|
|
3653
|
+
/* @__PURE__ */ jsx(Scale, { size: 12 }),
|
|
3654
|
+
repository.license
|
|
3655
|
+
] }),
|
|
2857
3656
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
2858
3657
|
"Updated ",
|
|
2859
3658
|
getRelativeTime(repository.pushed_at || repository.updated_at)
|
|
@@ -2998,10 +3797,10 @@ function formatNumber(num) {
|
|
|
2998
3797
|
}
|
|
2999
3798
|
return num.toString();
|
|
3000
3799
|
}
|
|
3001
|
-
const PANEL_ID$
|
|
3800
|
+
const PANEL_ID$9 = "industry-theme.github-starred";
|
|
3002
3801
|
const createPanelEvent$2 = (type, payload) => ({
|
|
3003
3802
|
type,
|
|
3004
|
-
source: PANEL_ID$
|
|
3803
|
+
source: PANEL_ID$9,
|
|
3005
3804
|
timestamp: Date.now(),
|
|
3006
3805
|
payload
|
|
3007
3806
|
});
|
|
@@ -3090,7 +3889,7 @@ const GitHubStarredPanelContent = ({
|
|
|
3090
3889
|
if (panelActions.cloneRepository) {
|
|
3091
3890
|
await panelActions.cloneRepository(repo);
|
|
3092
3891
|
events.emit(
|
|
3093
|
-
createPanelEvent$2(`${PANEL_ID$
|
|
3892
|
+
createPanelEvent$2(`${PANEL_ID$9}:repository-cloned`, {
|
|
3094
3893
|
repository: repo
|
|
3095
3894
|
})
|
|
3096
3895
|
);
|
|
@@ -3110,7 +3909,7 @@ const GitHubStarredPanelContent = ({
|
|
|
3110
3909
|
(repo) => {
|
|
3111
3910
|
setSelectedRepo(repo);
|
|
3112
3911
|
events.emit(
|
|
3113
|
-
createPanelEvent$2(`${PANEL_ID$
|
|
3912
|
+
createPanelEvent$2(`${PANEL_ID$9}:repository-selected`, { repository: repo })
|
|
3114
3913
|
);
|
|
3115
3914
|
},
|
|
3116
3915
|
[events]
|
|
@@ -3122,11 +3921,11 @@ const GitHubStarredPanelContent = ({
|
|
|
3122
3921
|
}, [panelActions]);
|
|
3123
3922
|
useEffect(() => {
|
|
3124
3923
|
const unsubscribers = [
|
|
3125
|
-
events.on(`${PANEL_ID$
|
|
3924
|
+
events.on(`${PANEL_ID$9}:filter`, (event) => {
|
|
3126
3925
|
var _a2;
|
|
3127
3926
|
setFilter(((_a2 = event.payload) == null ? void 0 : _a2.filter) || "");
|
|
3128
3927
|
}),
|
|
3129
|
-
events.on(`${PANEL_ID$
|
|
3928
|
+
events.on(`${PANEL_ID$9}:select-repository`, (event) => {
|
|
3130
3929
|
var _a2;
|
|
3131
3930
|
const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
|
|
3132
3931
|
if (identifier) {
|
|
@@ -3138,7 +3937,7 @@ const GitHubStarredPanelContent = ({
|
|
|
3138
3937
|
}
|
|
3139
3938
|
}
|
|
3140
3939
|
}),
|
|
3141
|
-
events.on(`${PANEL_ID$
|
|
3940
|
+
events.on(`${PANEL_ID$9}:clone-repository`, (event) => {
|
|
3142
3941
|
var _a2;
|
|
3143
3942
|
const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
|
|
3144
3943
|
if (identifier) {
|
|
@@ -3471,10 +4270,10 @@ const GitHubStarredPanelPreview = () => {
|
|
|
3471
4270
|
}
|
|
3472
4271
|
);
|
|
3473
4272
|
};
|
|
3474
|
-
const PANEL_ID$
|
|
4273
|
+
const PANEL_ID$8 = "industry-theme.github-projects";
|
|
3475
4274
|
const createPanelEvent$1 = (type, payload) => ({
|
|
3476
4275
|
type,
|
|
3477
|
-
source: PANEL_ID$
|
|
4276
|
+
source: PANEL_ID$8,
|
|
3478
4277
|
timestamp: Date.now(),
|
|
3479
4278
|
payload
|
|
3480
4279
|
});
|
|
@@ -3577,6 +4376,7 @@ const GitHubProjectsPanelContent = ({
|
|
|
3577
4376
|
const filteredOrgRepos = useMemo(() => {
|
|
3578
4377
|
const result = {};
|
|
3579
4378
|
for (const [orgLogin, repos] of Object.entries(orgRepositories)) {
|
|
4379
|
+
if (!Array.isArray(repos)) continue;
|
|
3580
4380
|
const filtered = filterRepos(repos);
|
|
3581
4381
|
if (filtered.length > 0) {
|
|
3582
4382
|
result[orgLogin] = filtered;
|
|
@@ -3587,7 +4387,9 @@ const GitHubProjectsPanelContent = ({
|
|
|
3587
4387
|
const allRepositories = useMemo(() => {
|
|
3588
4388
|
const all = [...userRepositories];
|
|
3589
4389
|
for (const repos of Object.values(orgRepositories)) {
|
|
3590
|
-
|
|
4390
|
+
if (Array.isArray(repos)) {
|
|
4391
|
+
all.push(...repos);
|
|
4392
|
+
}
|
|
3591
4393
|
}
|
|
3592
4394
|
return all;
|
|
3593
4395
|
}, [userRepositories, orgRepositories]);
|
|
@@ -3597,7 +4399,7 @@ const GitHubProjectsPanelContent = ({
|
|
|
3597
4399
|
if (panelActions.cloneRepository) {
|
|
3598
4400
|
await panelActions.cloneRepository(repo);
|
|
3599
4401
|
events.emit(
|
|
3600
|
-
createPanelEvent$1(`${PANEL_ID$
|
|
4402
|
+
createPanelEvent$1(`${PANEL_ID$8}:repository-cloned`, {
|
|
3601
4403
|
repository: repo
|
|
3602
4404
|
})
|
|
3603
4405
|
);
|
|
@@ -3617,7 +4419,7 @@ const GitHubProjectsPanelContent = ({
|
|
|
3617
4419
|
(repo) => {
|
|
3618
4420
|
setSelectedRepo(repo);
|
|
3619
4421
|
events.emit(
|
|
3620
|
-
createPanelEvent$1(`${PANEL_ID$
|
|
4422
|
+
createPanelEvent$1(`${PANEL_ID$8}:repository-selected`, { repository: repo })
|
|
3621
4423
|
);
|
|
3622
4424
|
},
|
|
3623
4425
|
[events]
|
|
@@ -3640,18 +4442,18 @@ const GitHubProjectsPanelContent = ({
|
|
|
3640
4442
|
}, []);
|
|
3641
4443
|
useEffect(() => {
|
|
3642
4444
|
const unsubscribers = [
|
|
3643
|
-
events.on(`${PANEL_ID$
|
|
4445
|
+
events.on(`${PANEL_ID$8}:filter`, (event) => {
|
|
3644
4446
|
var _a2;
|
|
3645
4447
|
setFilter(((_a2 = event.payload) == null ? void 0 : _a2.filter) || "");
|
|
3646
4448
|
}),
|
|
3647
|
-
events.on(`${PANEL_ID$
|
|
4449
|
+
events.on(`${PANEL_ID$8}:toggle-section`, (event) => {
|
|
3648
4450
|
var _a2;
|
|
3649
4451
|
const owner = (_a2 = event.payload) == null ? void 0 : _a2.owner;
|
|
3650
4452
|
if (owner) {
|
|
3651
4453
|
toggleSection(owner);
|
|
3652
4454
|
}
|
|
3653
4455
|
}),
|
|
3654
|
-
events.on(`${PANEL_ID$
|
|
4456
|
+
events.on(`${PANEL_ID$8}:select-repository`, (event) => {
|
|
3655
4457
|
var _a2;
|
|
3656
4458
|
const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
|
|
3657
4459
|
if (identifier) {
|
|
@@ -3663,7 +4465,7 @@ const GitHubProjectsPanelContent = ({
|
|
|
3663
4465
|
}
|
|
3664
4466
|
}
|
|
3665
4467
|
}),
|
|
3666
|
-
events.on(`${PANEL_ID$
|
|
4468
|
+
events.on(`${PANEL_ID$8}:clone-repository`, (event) => {
|
|
3667
4469
|
var _a2;
|
|
3668
4470
|
const identifier = (_a2 = event.payload) == null ? void 0 : _a2.identifier;
|
|
3669
4471
|
if (identifier) {
|
|
@@ -4107,10 +4909,10 @@ const GitHubProjectsPanelPreview = () => {
|
|
|
4107
4909
|
}
|
|
4108
4910
|
);
|
|
4109
4911
|
};
|
|
4110
|
-
const PANEL_ID$
|
|
4912
|
+
const PANEL_ID$7 = "industry-theme.user-profile";
|
|
4111
4913
|
const createPanelEvent = (type, payload) => ({
|
|
4112
4914
|
type,
|
|
4113
|
-
source: PANEL_ID$
|
|
4915
|
+
source: PANEL_ID$7,
|
|
4114
4916
|
timestamp: Date.now(),
|
|
4115
4917
|
payload
|
|
4116
4918
|
});
|
|
@@ -4388,7 +5190,7 @@ const UserProfilePanelContent = ({
|
|
|
4388
5190
|
(organization) => {
|
|
4389
5191
|
var _a2;
|
|
4390
5192
|
events.emit(
|
|
4391
|
-
createPanelEvent(`${PANEL_ID$
|
|
5193
|
+
createPanelEvent(`${PANEL_ID$7}:organization:selected`, {
|
|
4392
5194
|
orgLogin: organization.login,
|
|
4393
5195
|
organization
|
|
4394
5196
|
})
|
|
@@ -4401,7 +5203,7 @@ const UserProfilePanelContent = ({
|
|
|
4401
5203
|
(repository) => {
|
|
4402
5204
|
var _a2;
|
|
4403
5205
|
events.emit(
|
|
4404
|
-
createPanelEvent(`${PANEL_ID$
|
|
5206
|
+
createPanelEvent(`${PANEL_ID$7}:repository:selected`, {
|
|
4405
5207
|
owner: repository.owner.login,
|
|
4406
5208
|
repo: repository.name,
|
|
4407
5209
|
repository
|
|
@@ -4415,7 +5217,7 @@ const UserProfilePanelContent = ({
|
|
|
4415
5217
|
(repository) => {
|
|
4416
5218
|
var _a2;
|
|
4417
5219
|
events.emit(
|
|
4418
|
-
createPanelEvent(`${PANEL_ID$
|
|
5220
|
+
createPanelEvent(`${PANEL_ID$7}:repository:clone-requested`, {
|
|
4419
5221
|
repository
|
|
4420
5222
|
})
|
|
4421
5223
|
);
|
|
@@ -4435,19 +5237,19 @@ const UserProfilePanelContent = ({
|
|
|
4435
5237
|
setActiveView(view);
|
|
4436
5238
|
setSearchQuery("");
|
|
4437
5239
|
setShowSearchBox(false);
|
|
4438
|
-
events.emit(createPanelEvent(`${PANEL_ID$
|
|
5240
|
+
events.emit(createPanelEvent(`${PANEL_ID$7}:view:changed`, { view }));
|
|
4439
5241
|
},
|
|
4440
5242
|
[events]
|
|
4441
5243
|
);
|
|
4442
5244
|
useEffect(() => {
|
|
4443
5245
|
const unsubscribers = [
|
|
4444
|
-
events.on(`${PANEL_ID$
|
|
5246
|
+
events.on(`${PANEL_ID$7}:set-view`, (event) => {
|
|
4445
5247
|
var _a2;
|
|
4446
5248
|
if ((_a2 = event.payload) == null ? void 0 : _a2.view) {
|
|
4447
5249
|
handleViewChange(event.payload.view);
|
|
4448
5250
|
}
|
|
4449
5251
|
}),
|
|
4450
|
-
events.on(`${PANEL_ID$
|
|
5252
|
+
events.on(`${PANEL_ID$7}:select-organization`, (event) => {
|
|
4451
5253
|
var _a2;
|
|
4452
5254
|
const orgLogin = (_a2 = event.payload) == null ? void 0 : _a2.orgLogin;
|
|
4453
5255
|
if (orgLogin) {
|
|
@@ -4457,7 +5259,7 @@ const UserProfilePanelContent = ({
|
|
|
4457
5259
|
}
|
|
4458
5260
|
}
|
|
4459
5261
|
}),
|
|
4460
|
-
events.on(`${PANEL_ID$
|
|
5262
|
+
events.on(`${PANEL_ID$7}:select-repository`, (event) => {
|
|
4461
5263
|
const { owner, repo } = event.payload || {};
|
|
4462
5264
|
if (owner && repo) {
|
|
4463
5265
|
const repository = starredRepositories.find(
|
|
@@ -4468,7 +5270,7 @@ const UserProfilePanelContent = ({
|
|
|
4468
5270
|
}
|
|
4469
5271
|
}
|
|
4470
5272
|
}),
|
|
4471
|
-
events.on(`${PANEL_ID$
|
|
5273
|
+
events.on(`${PANEL_ID$7}:clone-repository`, (event) => {
|
|
4472
5274
|
const { owner, repo } = event.payload || {};
|
|
4473
5275
|
if (owner && repo) {
|
|
4474
5276
|
const repository = starredRepositories.find(
|
|
@@ -4479,7 +5281,7 @@ const UserProfilePanelContent = ({
|
|
|
4479
5281
|
}
|
|
4480
5282
|
}
|
|
4481
5283
|
}),
|
|
4482
|
-
events.on(`${PANEL_ID$
|
|
5284
|
+
events.on(`${PANEL_ID$7}:filter-starred`, (event) => {
|
|
4483
5285
|
var _a2;
|
|
4484
5286
|
if (((_a2 = event.payload) == null ? void 0 : _a2.filter) !== void 0) {
|
|
4485
5287
|
setSearchQuery(event.payload.filter);
|
|
@@ -4993,7 +5795,7 @@ const UserProfilePanelPreview = () => {
|
|
|
4993
5795
|
}
|
|
4994
5796
|
);
|
|
4995
5797
|
};
|
|
4996
|
-
const PANEL_ID$
|
|
5798
|
+
const PANEL_ID$6 = "industry-theme.local-projects";
|
|
4997
5799
|
const filterProjectsTool$1 = {
|
|
4998
5800
|
name: "filter_projects",
|
|
4999
5801
|
description: "Filter the local projects list by name, owner, or path",
|
|
@@ -5017,7 +5819,7 @@ const filterProjectsTool$1 = {
|
|
|
5017
5819
|
tags: ["filter", "search", "projects"],
|
|
5018
5820
|
tool_call_template: {
|
|
5019
5821
|
call_template_type: "panel_event",
|
|
5020
|
-
event_type: `${PANEL_ID$
|
|
5822
|
+
event_type: `${PANEL_ID$6}:filter`
|
|
5021
5823
|
}
|
|
5022
5824
|
};
|
|
5023
5825
|
const selectProjectTool = {
|
|
@@ -5043,7 +5845,7 @@ const selectProjectTool = {
|
|
|
5043
5845
|
tags: ["select", "project", "navigation"],
|
|
5044
5846
|
tool_call_template: {
|
|
5045
5847
|
call_template_type: "panel_event",
|
|
5046
|
-
event_type: `${PANEL_ID$
|
|
5848
|
+
event_type: `${PANEL_ID$6}:select-repository`
|
|
5047
5849
|
}
|
|
5048
5850
|
};
|
|
5049
5851
|
const openProjectTool = {
|
|
@@ -5069,7 +5871,7 @@ const openProjectTool = {
|
|
|
5069
5871
|
tags: ["open", "project", "workspace"],
|
|
5070
5872
|
tool_call_template: {
|
|
5071
5873
|
call_template_type: "panel_event",
|
|
5072
|
-
event_type: `${PANEL_ID$
|
|
5874
|
+
event_type: `${PANEL_ID$6}:open-repository`
|
|
5073
5875
|
}
|
|
5074
5876
|
};
|
|
5075
5877
|
const localProjectsPanelTools = [
|
|
@@ -5078,13 +5880,13 @@ const localProjectsPanelTools = [
|
|
|
5078
5880
|
openProjectTool
|
|
5079
5881
|
];
|
|
5080
5882
|
const localProjectsPanelToolsMetadata = {
|
|
5081
|
-
id: PANEL_ID$
|
|
5883
|
+
id: PANEL_ID$6,
|
|
5082
5884
|
name: "Local Projects Panel",
|
|
5083
5885
|
description: "Tools for browsing and managing local Alexandria repositories",
|
|
5084
5886
|
tools: localProjectsPanelTools
|
|
5085
5887
|
};
|
|
5086
|
-
const PANEL_ID$
|
|
5087
|
-
const selectRepositoryTool$
|
|
5888
|
+
const PANEL_ID$5 = "industry-theme.workspace-repositories";
|
|
5889
|
+
const selectRepositoryTool$2 = {
|
|
5088
5890
|
name: "select_workspace_repository",
|
|
5089
5891
|
description: "Selects a repository in the workspace panel",
|
|
5090
5892
|
inputs: {
|
|
@@ -5107,7 +5909,7 @@ const selectRepositoryTool$1 = {
|
|
|
5107
5909
|
tags: ["workspace", "repository", "select"],
|
|
5108
5910
|
tool_call_template: {
|
|
5109
5911
|
call_template_type: "panel_event",
|
|
5110
|
-
event_type: `${PANEL_ID$
|
|
5912
|
+
event_type: `${PANEL_ID$5}:select-repository`
|
|
5111
5913
|
}
|
|
5112
5914
|
};
|
|
5113
5915
|
const refreshWorkspaceTool = {
|
|
@@ -5132,7 +5934,7 @@ const refreshWorkspaceTool = {
|
|
|
5132
5934
|
tags: ["workspace", "refresh"],
|
|
5133
5935
|
tool_call_template: {
|
|
5134
5936
|
call_template_type: "panel_event",
|
|
5135
|
-
event_type: `${PANEL_ID$
|
|
5937
|
+
event_type: `${PANEL_ID$5}:refresh-workspace`
|
|
5136
5938
|
}
|
|
5137
5939
|
};
|
|
5138
5940
|
const openRepositoryTool = {
|
|
@@ -5158,21 +5960,21 @@ const openRepositoryTool = {
|
|
|
5158
5960
|
tags: ["workspace", "repository", "open"],
|
|
5159
5961
|
tool_call_template: {
|
|
5160
5962
|
call_template_type: "panel_event",
|
|
5161
|
-
event_type: `${PANEL_ID$
|
|
5963
|
+
event_type: `${PANEL_ID$5}:open-repository`
|
|
5162
5964
|
}
|
|
5163
5965
|
};
|
|
5164
5966
|
const workspaceRepositoriesPanelTools = [
|
|
5165
|
-
selectRepositoryTool$
|
|
5967
|
+
selectRepositoryTool$2,
|
|
5166
5968
|
refreshWorkspaceTool,
|
|
5167
5969
|
openRepositoryTool
|
|
5168
5970
|
];
|
|
5169
5971
|
const workspaceRepositoriesPanelToolsMetadata = {
|
|
5170
|
-
id: PANEL_ID$
|
|
5972
|
+
id: PANEL_ID$5,
|
|
5171
5973
|
name: "Workspace Repositories Panel",
|
|
5172
5974
|
description: "Tools provided by the workspace repositories panel",
|
|
5173
5975
|
tools: workspaceRepositoriesPanelTools
|
|
5174
5976
|
};
|
|
5175
|
-
const PANEL_ID$
|
|
5977
|
+
const PANEL_ID$4 = "industry-theme.workspaces-list";
|
|
5176
5978
|
const filterWorkspacesTool = {
|
|
5177
5979
|
name: "filter_workspaces",
|
|
5178
5980
|
description: "Filter the workspaces list by workspace name, description, or repository names within workspaces",
|
|
@@ -5196,7 +5998,7 @@ const filterWorkspacesTool = {
|
|
|
5196
5998
|
tags: ["filter", "search", "workspaces"],
|
|
5197
5999
|
tool_call_template: {
|
|
5198
6000
|
call_template_type: "panel_event",
|
|
5199
|
-
event_type: `${PANEL_ID$
|
|
6001
|
+
event_type: `${PANEL_ID$4}:filter`
|
|
5200
6002
|
}
|
|
5201
6003
|
};
|
|
5202
6004
|
const selectWorkspaceTool = {
|
|
@@ -5222,7 +6024,7 @@ const selectWorkspaceTool = {
|
|
|
5222
6024
|
tags: ["select", "workspace", "navigation"],
|
|
5223
6025
|
tool_call_template: {
|
|
5224
6026
|
call_template_type: "panel_event",
|
|
5225
|
-
event_type: `${PANEL_ID$
|
|
6027
|
+
event_type: `${PANEL_ID$4}:select-workspace`
|
|
5226
6028
|
}
|
|
5227
6029
|
};
|
|
5228
6030
|
const openWorkspaceTool = {
|
|
@@ -5248,7 +6050,7 @@ const openWorkspaceTool = {
|
|
|
5248
6050
|
tags: ["open", "workspace", "window"],
|
|
5249
6051
|
tool_call_template: {
|
|
5250
6052
|
call_template_type: "panel_event",
|
|
5251
|
-
event_type: `${PANEL_ID$
|
|
6053
|
+
event_type: `${PANEL_ID$4}:open-workspace`
|
|
5252
6054
|
}
|
|
5253
6055
|
};
|
|
5254
6056
|
const createWorkspaceTool = {
|
|
@@ -5279,7 +6081,7 @@ const createWorkspaceTool = {
|
|
|
5279
6081
|
tags: ["create", "workspace", "new"],
|
|
5280
6082
|
tool_call_template: {
|
|
5281
6083
|
call_template_type: "panel_event",
|
|
5282
|
-
event_type: `${PANEL_ID$
|
|
6084
|
+
event_type: `${PANEL_ID$4}:create-workspace`
|
|
5283
6085
|
}
|
|
5284
6086
|
};
|
|
5285
6087
|
const workspacesListPanelTools = [
|
|
@@ -5289,11 +6091,154 @@ const workspacesListPanelTools = [
|
|
|
5289
6091
|
createWorkspaceTool
|
|
5290
6092
|
];
|
|
5291
6093
|
const workspacesListPanelToolsMetadata = {
|
|
5292
|
-
id: PANEL_ID$
|
|
6094
|
+
id: PANEL_ID$4,
|
|
5293
6095
|
name: "Workspaces List Panel",
|
|
5294
6096
|
description: "Tools for browsing and managing workspaces",
|
|
5295
6097
|
tools: workspacesListPanelTools
|
|
5296
6098
|
};
|
|
6099
|
+
const PANEL_ID$3 = "industry-theme.workspace-collection";
|
|
6100
|
+
const filterRepositoriesTool = {
|
|
6101
|
+
name: "filter_workspace_collection",
|
|
6102
|
+
description: "Filters repositories in the workspace collection by search term",
|
|
6103
|
+
inputs: {
|
|
6104
|
+
type: "object",
|
|
6105
|
+
properties: {
|
|
6106
|
+
filter: {
|
|
6107
|
+
type: "string",
|
|
6108
|
+
description: "Search term to filter repositories by name, owner, or description"
|
|
6109
|
+
}
|
|
6110
|
+
},
|
|
6111
|
+
required: ["filter"]
|
|
6112
|
+
},
|
|
6113
|
+
outputs: {
|
|
6114
|
+
type: "object",
|
|
6115
|
+
properties: {
|
|
6116
|
+
success: { type: "boolean" },
|
|
6117
|
+
matchCount: { type: "number" }
|
|
6118
|
+
}
|
|
6119
|
+
},
|
|
6120
|
+
tags: ["workspace", "repository", "filter", "search"],
|
|
6121
|
+
tool_call_template: {
|
|
6122
|
+
call_template_type: "panel_event",
|
|
6123
|
+
event_type: `${PANEL_ID$3}:filter`
|
|
6124
|
+
}
|
|
6125
|
+
};
|
|
6126
|
+
const selectRepositoryTool$1 = {
|
|
6127
|
+
name: "select_collection_repository",
|
|
6128
|
+
description: "Selects a repository in the workspace collection panel",
|
|
6129
|
+
inputs: {
|
|
6130
|
+
type: "object",
|
|
6131
|
+
properties: {
|
|
6132
|
+
repositoryKey: {
|
|
6133
|
+
type: "string",
|
|
6134
|
+
description: 'Repository identifier in "owner/repo" format or just the repository name'
|
|
6135
|
+
}
|
|
6136
|
+
},
|
|
6137
|
+
required: ["repositoryKey"]
|
|
6138
|
+
},
|
|
6139
|
+
outputs: {
|
|
6140
|
+
type: "object",
|
|
6141
|
+
properties: {
|
|
6142
|
+
success: { type: "boolean" },
|
|
6143
|
+
message: { type: "string" }
|
|
6144
|
+
}
|
|
6145
|
+
},
|
|
6146
|
+
tags: ["workspace", "repository", "select"],
|
|
6147
|
+
tool_call_template: {
|
|
6148
|
+
call_template_type: "panel_event",
|
|
6149
|
+
event_type: `${PANEL_ID$3}:select-repository`
|
|
6150
|
+
}
|
|
6151
|
+
};
|
|
6152
|
+
const navigateRepositoryTool = {
|
|
6153
|
+
name: "navigate_collection_repository",
|
|
6154
|
+
description: "Navigates to the full repository page for a repository in the workspace",
|
|
6155
|
+
inputs: {
|
|
6156
|
+
type: "object",
|
|
6157
|
+
properties: {
|
|
6158
|
+
repositoryKey: {
|
|
6159
|
+
type: "string",
|
|
6160
|
+
description: 'Repository identifier in "owner/repo" format or just the repository name'
|
|
6161
|
+
}
|
|
6162
|
+
},
|
|
6163
|
+
required: ["repositoryKey"]
|
|
6164
|
+
},
|
|
6165
|
+
outputs: {
|
|
6166
|
+
type: "object",
|
|
6167
|
+
properties: {
|
|
6168
|
+
success: { type: "boolean" },
|
|
6169
|
+
message: { type: "string" }
|
|
6170
|
+
}
|
|
6171
|
+
},
|
|
6172
|
+
tags: ["workspace", "repository", "navigate", "open"],
|
|
6173
|
+
tool_call_template: {
|
|
6174
|
+
call_template_type: "panel_event",
|
|
6175
|
+
event_type: `${PANEL_ID$3}:navigate-repository`
|
|
6176
|
+
}
|
|
6177
|
+
};
|
|
6178
|
+
const removeRepositoryTool = {
|
|
6179
|
+
name: "remove_collection_repository",
|
|
6180
|
+
description: "Removes a repository from the current workspace",
|
|
6181
|
+
inputs: {
|
|
6182
|
+
type: "object",
|
|
6183
|
+
properties: {
|
|
6184
|
+
repositoryKey: {
|
|
6185
|
+
type: "string",
|
|
6186
|
+
description: 'Repository identifier in "owner/repo" format or just the repository name'
|
|
6187
|
+
}
|
|
6188
|
+
},
|
|
6189
|
+
required: ["repositoryKey"]
|
|
6190
|
+
},
|
|
6191
|
+
outputs: {
|
|
6192
|
+
type: "object",
|
|
6193
|
+
properties: {
|
|
6194
|
+
success: { type: "boolean" },
|
|
6195
|
+
message: { type: "string" }
|
|
6196
|
+
}
|
|
6197
|
+
},
|
|
6198
|
+
tags: ["workspace", "repository", "remove", "delete"],
|
|
6199
|
+
tool_call_template: {
|
|
6200
|
+
call_template_type: "panel_event",
|
|
6201
|
+
event_type: `${PANEL_ID$3}:remove-repository`
|
|
6202
|
+
}
|
|
6203
|
+
};
|
|
6204
|
+
const refreshWorkspaceCollectionTool = {
|
|
6205
|
+
name: "refresh_workspace_collection",
|
|
6206
|
+
description: "Refreshes the workspace collection repository list",
|
|
6207
|
+
inputs: {
|
|
6208
|
+
type: "object",
|
|
6209
|
+
properties: {
|
|
6210
|
+
force: {
|
|
6211
|
+
type: "boolean",
|
|
6212
|
+
description: "Force refresh even if data is fresh"
|
|
6213
|
+
}
|
|
6214
|
+
}
|
|
6215
|
+
},
|
|
6216
|
+
outputs: {
|
|
6217
|
+
type: "object",
|
|
6218
|
+
properties: {
|
|
6219
|
+
success: { type: "boolean" },
|
|
6220
|
+
repositoryCount: { type: "number" }
|
|
6221
|
+
}
|
|
6222
|
+
},
|
|
6223
|
+
tags: ["workspace", "refresh"],
|
|
6224
|
+
tool_call_template: {
|
|
6225
|
+
call_template_type: "panel_event",
|
|
6226
|
+
event_type: `${PANEL_ID$3}:refresh-workspace`
|
|
6227
|
+
}
|
|
6228
|
+
};
|
|
6229
|
+
const workspaceCollectionPanelTools = [
|
|
6230
|
+
filterRepositoriesTool,
|
|
6231
|
+
selectRepositoryTool$1,
|
|
6232
|
+
navigateRepositoryTool,
|
|
6233
|
+
removeRepositoryTool,
|
|
6234
|
+
refreshWorkspaceCollectionTool
|
|
6235
|
+
];
|
|
6236
|
+
const workspaceCollectionPanelToolsMetadata = {
|
|
6237
|
+
id: PANEL_ID$3,
|
|
6238
|
+
name: "Workspace Collection Panel",
|
|
6239
|
+
description: "Tools provided by the browser-based workspace collection panel",
|
|
6240
|
+
tools: workspaceCollectionPanelTools
|
|
6241
|
+
};
|
|
5297
6242
|
const PANEL_ID$2 = "industry-theme.github-starred";
|
|
5298
6243
|
const filterStarredTool$1 = {
|
|
5299
6244
|
name: "filter_starred_repositories",
|
|
@@ -5752,6 +6697,26 @@ const panels = [
|
|
|
5752
6697
|
console.log("Workspaces List Panel unmounting");
|
|
5753
6698
|
}
|
|
5754
6699
|
},
|
|
6700
|
+
{
|
|
6701
|
+
metadata: {
|
|
6702
|
+
id: "industry-theme.workspace-collection",
|
|
6703
|
+
name: "Workspace Collection",
|
|
6704
|
+
icon: "FolderOpen",
|
|
6705
|
+
version: "0.1.0",
|
|
6706
|
+
author: "Industry Theme",
|
|
6707
|
+
description: "Browse repositories in a workspace (browser)",
|
|
6708
|
+
slices: ["workspace", "workspaceRepositories"],
|
|
6709
|
+
tools: workspaceCollectionPanelTools
|
|
6710
|
+
},
|
|
6711
|
+
component: WorkspaceCollectionPanel,
|
|
6712
|
+
onMount: async (context) => {
|
|
6713
|
+
console.log("Workspace Collection Panel mounted");
|
|
6714
|
+
console.log("Current scope:", context.currentScope.type);
|
|
6715
|
+
},
|
|
6716
|
+
onUnmount: async (_context) => {
|
|
6717
|
+
console.log("Workspace Collection Panel unmounting");
|
|
6718
|
+
}
|
|
6719
|
+
},
|
|
5755
6720
|
{
|
|
5756
6721
|
metadata: {
|
|
5757
6722
|
id: "industry-theme.github-starred",
|
|
@@ -5838,6 +6803,8 @@ export {
|
|
|
5838
6803
|
UserProfilePanel,
|
|
5839
6804
|
UserProfilePanelPreview,
|
|
5840
6805
|
WorkspaceCard,
|
|
6806
|
+
WorkspaceCollectionPanel,
|
|
6807
|
+
WorkspaceCollectionPanelPreview,
|
|
5841
6808
|
WorkspaceRepositoriesPanel,
|
|
5842
6809
|
WorkspacesListPanel,
|
|
5843
6810
|
WorkspacesListPanelPreview,
|
|
@@ -5847,6 +6814,7 @@ export {
|
|
|
5847
6814
|
createWorkspaceTool,
|
|
5848
6815
|
filterProjectsTool as filterGitHubProjectsTool,
|
|
5849
6816
|
filterProjectsTool$1 as filterProjectsTool,
|
|
6817
|
+
filterRepositoriesTool,
|
|
5850
6818
|
filterStarredTool$1 as filterStarredTool,
|
|
5851
6819
|
filterStarredTool as filterUserStarredTool,
|
|
5852
6820
|
filterWorkspacesTool,
|
|
@@ -5856,17 +6824,21 @@ export {
|
|
|
5856
6824
|
githubStarredPanelToolsMetadata,
|
|
5857
6825
|
localProjectsPanelTools,
|
|
5858
6826
|
localProjectsPanelToolsMetadata,
|
|
6827
|
+
navigateRepositoryTool,
|
|
5859
6828
|
onPackageLoad,
|
|
5860
6829
|
onPackageUnload,
|
|
5861
6830
|
openProjectTool,
|
|
5862
6831
|
openRepositoryTool,
|
|
5863
6832
|
openWorkspaceTool,
|
|
5864
6833
|
panels,
|
|
6834
|
+
refreshWorkspaceCollectionTool,
|
|
5865
6835
|
refreshWorkspaceTool,
|
|
6836
|
+
removeRepositoryTool,
|
|
6837
|
+
selectRepositoryTool$1 as selectCollectionRepositoryTool,
|
|
5866
6838
|
selectOrganizationTool,
|
|
5867
6839
|
selectProjectRepositoryTool,
|
|
5868
6840
|
selectProjectTool,
|
|
5869
|
-
selectRepositoryTool$
|
|
6841
|
+
selectRepositoryTool$2 as selectRepositoryTool,
|
|
5870
6842
|
selectStarredRepositoryTool,
|
|
5871
6843
|
selectRepositoryTool as selectUserRepositoryTool,
|
|
5872
6844
|
selectWorkspaceTool,
|
|
@@ -5875,6 +6847,8 @@ export {
|
|
|
5875
6847
|
userProfilePanelToolsMetadata,
|
|
5876
6848
|
viewOrganizationsTool,
|
|
5877
6849
|
viewStarredTool,
|
|
6850
|
+
workspaceCollectionPanelTools,
|
|
6851
|
+
workspaceCollectionPanelToolsMetadata,
|
|
5878
6852
|
workspaceRepositoriesPanelTools,
|
|
5879
6853
|
workspaceRepositoriesPanelToolsMetadata,
|
|
5880
6854
|
workspacesListPanelTools,
|