@industry-theme/alexandria-panels 0.1.34 → 0.1.35

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.
@@ -140,7 +140,7 @@ const createLucideIcon = (iconName, iconNode) => {
140
140
  * This source code is licensed under the ISC license.
141
141
  * See the LICENSE file in the root directory of this source tree.
142
142
  */
143
- const __iconNode$B = [
143
+ const __iconNode$z = [
144
144
  ["path", { d: "M10 12h4", key: "a56b0p" }],
145
145
  ["path", { d: "M10 8h4", key: "1sr2af" }],
146
146
  ["path", { d: "M14 21v-3a2 2 0 0 0-4 0v3", key: "1rgiei" }],
@@ -153,71 +153,71 @@ const __iconNode$B = [
153
153
  ],
154
154
  ["path", { d: "M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16", key: "16ra0t" }]
155
155
  ];
156
- const Building2 = createLucideIcon("building-2", __iconNode$B);
156
+ const Building2 = createLucideIcon("building-2", __iconNode$z);
157
157
  /**
158
158
  * @license lucide-react v0.552.0 - ISC
159
159
  *
160
160
  * This source code is licensed under the ISC license.
161
161
  * See the LICENSE file in the root directory of this source tree.
162
162
  */
163
- const __iconNode$A = [
163
+ const __iconNode$y = [
164
164
  ["path", { d: "M8 2v4", key: "1cmpym" }],
165
165
  ["path", { d: "M16 2v4", key: "4m81vk" }],
166
166
  ["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
167
167
  ["path", { d: "M3 10h18", key: "8toen8" }]
168
168
  ];
169
- const Calendar = createLucideIcon("calendar", __iconNode$A);
169
+ const Calendar = createLucideIcon("calendar", __iconNode$y);
170
170
  /**
171
171
  * @license lucide-react v0.552.0 - ISC
172
172
  *
173
173
  * This source code is licensed under the ISC license.
174
174
  * See the LICENSE file in the root directory of this source tree.
175
175
  */
176
- const __iconNode$z = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
177
- const Check = createLucideIcon("check", __iconNode$z);
176
+ const __iconNode$x = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
177
+ const Check = createLucideIcon("check", __iconNode$x);
178
178
  /**
179
179
  * @license lucide-react v0.552.0 - ISC
180
180
  *
181
181
  * This source code is licensed under the ISC license.
182
182
  * See the LICENSE file in the root directory of this source tree.
183
183
  */
184
- const __iconNode$y = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
185
- const ChevronDown = createLucideIcon("chevron-down", __iconNode$y);
184
+ const __iconNode$w = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
185
+ const ChevronDown = createLucideIcon("chevron-down", __iconNode$w);
186
186
  /**
187
187
  * @license lucide-react v0.552.0 - ISC
188
188
  *
189
189
  * This source code is licensed under the ISC license.
190
190
  * See the LICENSE file in the root directory of this source tree.
191
191
  */
192
- const __iconNode$x = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
193
- const ChevronRight = createLucideIcon("chevron-right", __iconNode$x);
192
+ const __iconNode$v = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
193
+ const ChevronRight = createLucideIcon("chevron-right", __iconNode$v);
194
194
  /**
195
195
  * @license lucide-react v0.552.0 - ISC
196
196
  *
197
197
  * This source code is licensed under the ISC license.
198
198
  * See the LICENSE file in the root directory of this source tree.
199
199
  */
200
- const __iconNode$w = [
200
+ const __iconNode$u = [
201
201
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
202
202
  ["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
203
203
  ["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
204
204
  ];
205
- const CircleAlert = createLucideIcon("circle-alert", __iconNode$w);
205
+ const CircleAlert = createLucideIcon("circle-alert", __iconNode$u);
206
206
  /**
207
207
  * @license lucide-react v0.552.0 - ISC
208
208
  *
209
209
  * This source code is licensed under the ISC license.
210
210
  * See the LICENSE file in the root directory of this source tree.
211
211
  */
212
- const __iconNode$v = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]];
213
- const Circle = createLucideIcon("circle", __iconNode$v);
212
+ const __iconNode$t = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]];
213
+ const Circle = createLucideIcon("circle", __iconNode$t);
214
214
  /**
215
215
  * @license lucide-react v0.552.0 - ISC
216
216
  *
217
217
  * This source code is licensed under the ISC license.
218
218
  * See the LICENSE file in the root directory of this source tree.
219
219
  */
220
- const __iconNode$u = [
220
+ const __iconNode$s = [
221
221
  ["path", { d: "m2 2 20 20", key: "1ooewy" }],
222
222
  ["path", { d: "M5.782 5.782A7 7 0 0 0 9 19h8.5a4.5 4.5 0 0 0 1.307-.193", key: "yfwify" }],
223
223
  [
@@ -225,85 +225,71 @@ const __iconNode$u = [
225
225
  { d: "M21.532 16.5A4.5 4.5 0 0 0 17.5 10h-1.79A7.008 7.008 0 0 0 10 5.07", key: "jlfiyv" }
226
226
  ]
227
227
  ];
228
- const CloudOff = createLucideIcon("cloud-off", __iconNode$u);
228
+ const CloudOff = createLucideIcon("cloud-off", __iconNode$s);
229
229
  /**
230
230
  * @license lucide-react v0.552.0 - ISC
231
231
  *
232
232
  * This source code is licensed under the ISC license.
233
233
  * See the LICENSE file in the root directory of this source tree.
234
234
  */
235
- const __iconNode$t = [
235
+ const __iconNode$r = [
236
236
  ["path", { d: "M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z", key: "p7xjir" }]
237
237
  ];
238
- const Cloud = createLucideIcon("cloud", __iconNode$t);
238
+ const Cloud = createLucideIcon("cloud", __iconNode$r);
239
239
  /**
240
240
  * @license lucide-react v0.552.0 - ISC
241
241
  *
242
242
  * This source code is licensed under the ISC license.
243
243
  * See the LICENSE file in the root directory of this source tree.
244
244
  */
245
- const __iconNode$s = [
245
+ const __iconNode$q = [
246
246
  ["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
247
247
  ["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" }]
248
248
  ];
249
- const Copy = createLucideIcon("copy", __iconNode$s);
249
+ const Copy = createLucideIcon("copy", __iconNode$q);
250
250
  /**
251
251
  * @license lucide-react v0.552.0 - ISC
252
252
  *
253
253
  * This source code is licensed under the ISC license.
254
254
  * See the LICENSE file in the root directory of this source tree.
255
255
  */
256
- const __iconNode$r = [
256
+ const __iconNode$p = [
257
257
  ["path", { d: "M10 12h.01", key: "1kxr2c" }],
258
258
  ["path", { d: "M18 20V6a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v14", key: "36qu9e" }],
259
259
  ["path", { d: "M2 20h20", key: "owomy5" }]
260
260
  ];
261
- const DoorClosed = createLucideIcon("door-closed", __iconNode$r);
261
+ const DoorClosed = createLucideIcon("door-closed", __iconNode$p);
262
262
  /**
263
263
  * @license lucide-react v0.552.0 - ISC
264
264
  *
265
265
  * This source code is licensed under the ISC license.
266
266
  * See the LICENSE file in the root directory of this source tree.
267
267
  */
268
- const __iconNode$q = [
268
+ const __iconNode$o = [
269
269
  ["path", { d: "M12 15V3", key: "m9g1x1" }],
270
270
  ["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
271
271
  ["path", { d: "m7 10 5 5 5-5", key: "brsn70" }]
272
272
  ];
273
- const Download = createLucideIcon("download", __iconNode$q);
273
+ const Download = createLucideIcon("download", __iconNode$o);
274
274
  /**
275
275
  * @license lucide-react v0.552.0 - ISC
276
276
  *
277
277
  * This source code is licensed under the ISC license.
278
278
  * See the LICENSE file in the root directory of this source tree.
279
279
  */
280
- const __iconNode$p = [
280
+ const __iconNode$n = [
281
281
  ["path", { d: "M15 3h6v6", key: "1q9fwt" }],
282
282
  ["path", { d: "M10 14 21 3", key: "gplh6r" }],
283
283
  ["path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6", key: "a6xqqp" }]
284
284
  ];
285
- const ExternalLink = createLucideIcon("external-link", __iconNode$p);
285
+ const ExternalLink = createLucideIcon("external-link", __iconNode$n);
286
286
  /**
287
287
  * @license lucide-react v0.552.0 - ISC
288
288
  *
289
289
  * This source code is licensed under the ISC license.
290
290
  * See the LICENSE file in the root directory of this source tree.
291
291
  */
292
- const __iconNode$o = [
293
- ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }],
294
- ["path", { d: "M3 7V5a2 2 0 0 1 2-2h2", key: "aa7l1z" }],
295
- ["path", { d: "M17 3h2a2 2 0 0 1 2 2v2", key: "4qcy5o" }],
296
- ["path", { d: "M21 17v2a2 2 0 0 1-2 2h-2", key: "6vwrx8" }],
297
- ["path", { d: "M7 21H5a2 2 0 0 1-2-2v-2", key: "ioqczr" }]
298
- ];
299
- const Focus = createLucideIcon("focus", __iconNode$o);
300
- /**
301
- * @license lucide-react v0.552.0 - ISC
302
- *
303
- * This source code is licensed under the ISC license.
304
- * See the LICENSE file in the root directory of this source tree.
305
- */
306
- const __iconNode$n = [
292
+ const __iconNode$m = [
307
293
  [
308
294
  "path",
309
295
  {
@@ -315,14 +301,14 @@ const __iconNode$n = [
315
301
  ["path", { d: "M18 19c-2.8 0-5-2.2-5-5v8", key: "pkpw2h" }],
316
302
  ["circle", { cx: "20", cy: "19", r: "2", key: "1obnsp" }]
317
303
  ];
318
- const FolderGit2 = createLucideIcon("folder-git-2", __iconNode$n);
304
+ const FolderGit2 = createLucideIcon("folder-git-2", __iconNode$m);
319
305
  /**
320
306
  * @license lucide-react v0.552.0 - ISC
321
307
  *
322
308
  * This source code is licensed under the ISC license.
323
309
  * See the LICENSE file in the root directory of this source tree.
324
310
  */
325
- const __iconNode$m = [
311
+ const __iconNode$l = [
326
312
  [
327
313
  "path",
328
314
  {
@@ -331,14 +317,14 @@ const __iconNode$m = [
331
317
  }
332
318
  ]
333
319
  ];
334
- const FolderOpen = createLucideIcon("folder-open", __iconNode$m);
320
+ const FolderOpen = createLucideIcon("folder-open", __iconNode$l);
335
321
  /**
336
322
  * @license lucide-react v0.552.0 - ISC
337
323
  *
338
324
  * This source code is licensed under the ISC license.
339
325
  * See the LICENSE file in the root directory of this source tree.
340
326
  */
341
- const __iconNode$l = [
327
+ const __iconNode$k = [
342
328
  ["path", { d: "M12 10v6", key: "1bos4e" }],
343
329
  ["path", { d: "M9 13h6", key: "1uhe8q" }],
344
330
  [
@@ -349,14 +335,14 @@ const __iconNode$l = [
349
335
  }
350
336
  ]
351
337
  ];
352
- const FolderPlus = createLucideIcon("folder-plus", __iconNode$l);
338
+ const FolderPlus = createLucideIcon("folder-plus", __iconNode$k);
353
339
  /**
354
340
  * @license lucide-react v0.552.0 - ISC
355
341
  *
356
342
  * This source code is licensed under the ISC license.
357
343
  * See the LICENSE file in the root directory of this source tree.
358
344
  */
359
- const __iconNode$k = [
345
+ const __iconNode$j = [
360
346
  [
361
347
  "path",
362
348
  {
@@ -365,41 +351,41 @@ const __iconNode$k = [
365
351
  }
366
352
  ]
367
353
  ];
368
- const Folder = createLucideIcon("folder", __iconNode$k);
354
+ const Folder = createLucideIcon("folder", __iconNode$j);
369
355
  /**
370
356
  * @license lucide-react v0.552.0 - ISC
371
357
  *
372
358
  * This source code is licensed under the ISC license.
373
359
  * See the LICENSE file in the root directory of this source tree.
374
360
  */
375
- const __iconNode$j = [
361
+ const __iconNode$i = [
376
362
  ["line", { x1: "6", x2: "6", y1: "3", y2: "15", key: "17qcm7" }],
377
363
  ["circle", { cx: "18", cy: "6", r: "3", key: "1h7g24" }],
378
364
  ["circle", { cx: "6", cy: "18", r: "3", key: "fqmcym" }],
379
365
  ["path", { d: "M18 9a9 9 0 0 1-9 9", key: "n2h4wq" }]
380
366
  ];
381
- const GitBranch = createLucideIcon("git-branch", __iconNode$j);
367
+ const GitBranch = createLucideIcon("git-branch", __iconNode$i);
382
368
  /**
383
369
  * @license lucide-react v0.552.0 - ISC
384
370
  *
385
371
  * This source code is licensed under the ISC license.
386
372
  * See the LICENSE file in the root directory of this source tree.
387
373
  */
388
- const __iconNode$i = [
374
+ const __iconNode$h = [
389
375
  ["circle", { cx: "12", cy: "18", r: "3", key: "1mpf1b" }],
390
376
  ["circle", { cx: "6", cy: "6", r: "3", key: "1lh9wr" }],
391
377
  ["circle", { cx: "18", cy: "6", r: "3", key: "1h7g24" }],
392
378
  ["path", { d: "M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9", key: "1uq4wg" }],
393
379
  ["path", { d: "M12 12v3", key: "158kv8" }]
394
380
  ];
395
- const GitFork = createLucideIcon("git-fork", __iconNode$i);
381
+ const GitFork = createLucideIcon("git-fork", __iconNode$h);
396
382
  /**
397
383
  * @license lucide-react v0.552.0 - ISC
398
384
  *
399
385
  * This source code is licensed under the ISC license.
400
386
  * See the LICENSE file in the root directory of this source tree.
401
387
  */
402
- const __iconNode$h = [
388
+ const __iconNode$g = [
403
389
  ["path", { d: "M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8", key: "5wwlr5" }],
404
390
  [
405
391
  "path",
@@ -409,14 +395,14 @@ const __iconNode$h = [
409
395
  }
410
396
  ]
411
397
  ];
412
- const House = createLucideIcon("house", __iconNode$h);
398
+ const House = createLucideIcon("house", __iconNode$g);
413
399
  /**
414
400
  * @license lucide-react v0.552.0 - ISC
415
401
  *
416
402
  * This source code is licensed under the ISC license.
417
403
  * See the LICENSE file in the root directory of this source tree.
418
404
  */
419
- const __iconNode$g = [
405
+ const __iconNode$f = [
420
406
  [
421
407
  "path",
422
408
  {
@@ -439,44 +425,44 @@ const __iconNode$g = [
439
425
  }
440
426
  ]
441
427
  ];
442
- const Layers = createLucideIcon("layers", __iconNode$g);
428
+ const Layers = createLucideIcon("layers", __iconNode$f);
443
429
  /**
444
430
  * @license lucide-react v0.552.0 - ISC
445
431
  *
446
432
  * This source code is licensed under the ISC license.
447
433
  * See the LICENSE file in the root directory of this source tree.
448
434
  */
449
- const __iconNode$f = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
450
- const LoaderCircle = createLucideIcon("loader-circle", __iconNode$f);
435
+ const __iconNode$e = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
436
+ const LoaderCircle = createLucideIcon("loader-circle", __iconNode$e);
451
437
  /**
452
438
  * @license lucide-react v0.552.0 - ISC
453
439
  *
454
440
  * This source code is licensed under the ISC license.
455
441
  * See the LICENSE file in the root directory of this source tree.
456
442
  */
457
- const __iconNode$e = [
443
+ const __iconNode$d = [
458
444
  ["rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2", key: "1w4ew1" }],
459
445
  ["path", { d: "M7 11V7a5 5 0 0 1 10 0v4", key: "fwvmzm" }]
460
446
  ];
461
- const Lock = createLucideIcon("lock", __iconNode$e);
447
+ const Lock = createLucideIcon("lock", __iconNode$d);
462
448
  /**
463
449
  * @license lucide-react v0.552.0 - ISC
464
450
  *
465
451
  * This source code is licensed under the ISC license.
466
452
  * See the LICENSE file in the root directory of this source tree.
467
453
  */
468
- const __iconNode$d = [
454
+ const __iconNode$c = [
469
455
  ["path", { d: "m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7", key: "132q7q" }],
470
456
  ["rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", key: "izxlao" }]
471
457
  ];
472
- const Mail = createLucideIcon("mail", __iconNode$d);
458
+ const Mail = createLucideIcon("mail", __iconNode$c);
473
459
  /**
474
460
  * @license lucide-react v0.552.0 - ISC
475
461
  *
476
462
  * This source code is licensed under the ISC license.
477
463
  * See the LICENSE file in the root directory of this source tree.
478
464
  */
479
- const __iconNode$c = [
465
+ const __iconNode$b = [
480
466
  [
481
467
  "path",
482
468
  {
@@ -486,18 +472,7 @@ const __iconNode$c = [
486
472
  ],
487
473
  ["circle", { cx: "12", cy: "10", r: "3", key: "ilqhr7" }]
488
474
  ];
489
- const MapPin = createLucideIcon("map-pin", __iconNode$c);
490
- /**
491
- * @license lucide-react v0.552.0 - ISC
492
- *
493
- * This source code is licensed under the ISC license.
494
- * See the LICENSE file in the root directory of this source tree.
495
- */
496
- const __iconNode$b = [
497
- ["path", { d: "M8 6L12 2L16 6", key: "1yvkyx" }],
498
- ["path", { d: "M12 2V22", key: "r89rzk" }]
499
- ];
500
- const MoveUp = createLucideIcon("move-up", __iconNode$b);
475
+ const MapPin = createLucideIcon("map-pin", __iconNode$b);
501
476
  /**
502
477
  * @license lucide-react v0.552.0 - ISC
503
478
  *
@@ -735,7 +710,7 @@ const LocalProjectCard = ({
735
710
  workspacePath,
736
711
  userHomePath
737
712
  }) => {
738
- var _a, _b, _c, _d, _e, _f;
713
+ var _a, _b, _c, _d;
739
714
  const { theme } = useTheme();
740
715
  const [isHovered, setIsHovered] = useState(false);
741
716
  const [copiedPath, setCopiedPath] = useState(false);
@@ -759,40 +734,6 @@ const LocalProjectCard = ({
759
734
  const handleDoubleClick = () => {
760
735
  onOpen == null ? void 0 : onOpen(entry);
761
736
  };
762
- const handleOpenClick = (e) => {
763
- e.stopPropagation();
764
- onOpen == null ? void 0 : onOpen(entry);
765
- };
766
- const handleRemoveClick = (e) => {
767
- e.stopPropagation();
768
- onRemove == null ? void 0 : onRemove(entry);
769
- };
770
- const handleAddToWorkspaceClick = (e) => {
771
- e.stopPropagation();
772
- onAddToWorkspace == null ? void 0 : onAddToWorkspace(entry);
773
- };
774
- const handleRemoveFromWorkspaceClick = async (e) => {
775
- e.stopPropagation();
776
- try {
777
- setIsRemoving(true);
778
- onRemoveFromWorkspace == null ? void 0 : onRemoveFromWorkspace(entry);
779
- } finally {
780
- setIsRemoving(false);
781
- }
782
- };
783
- const handleMoveToWorkspaceClick = async (e) => {
784
- e.stopPropagation();
785
- try {
786
- setIsMoving(true);
787
- onMoveToWorkspace == null ? void 0 : onMoveToWorkspace(entry);
788
- } finally {
789
- setIsMoving(false);
790
- }
791
- };
792
- const handleTrackClick = (e) => {
793
- e.stopPropagation();
794
- onTrack == null ? void 0 : onTrack(entry);
795
- };
796
737
  const handleCopyPath = async (e) => {
797
738
  e.stopPropagation();
798
739
  try {
@@ -803,220 +744,6 @@ const LocalProjectCard = ({
803
744
  console.error("Failed to copy path:", err);
804
745
  }
805
746
  };
806
- const actionButtonStyle = {
807
- display: "flex",
808
- alignItems: "center",
809
- justifyContent: "center",
810
- gap: "4px",
811
- flex: 1,
812
- height: "24px",
813
- padding: "0 8px",
814
- border: "none",
815
- borderRadius: "4px",
816
- backgroundColor: "transparent",
817
- color: theme.colors.textSecondary,
818
- cursor: "pointer",
819
- fontSize: `${theme.fontSizes[1]}px`,
820
- fontFamily: theme.fonts.body,
821
- transition: "all 0.15s ease"
822
- };
823
- const handleButtonHover = (e, isDestructive = false) => {
824
- if (isDestructive) {
825
- e.currentTarget.style.backgroundColor = `${theme.colors.error || "#ef4444"}15`;
826
- e.currentTarget.style.color = theme.colors.error || "#ef4444";
827
- } else {
828
- e.currentTarget.style.backgroundColor = theme.colors.backgroundTertiary;
829
- e.currentTarget.style.color = theme.colors.text;
830
- }
831
- };
832
- const handleButtonLeave = (e, defaultColor) => {
833
- e.currentTarget.style.backgroundColor = "transparent";
834
- e.currentTarget.style.color = defaultColor || theme.colors.textSecondary;
835
- };
836
- const renderActionButtons = () => {
837
- if (actionMode === "add-to-workspace") {
838
- return /* @__PURE__ */ jsxs(
839
- "button",
840
- {
841
- type: "button",
842
- onClick: handleAddToWorkspaceClick,
843
- disabled: isLoading,
844
- title: "Add to workspace",
845
- style: actionButtonStyle,
846
- onMouseEnter: (e) => handleButtonHover(e),
847
- onMouseLeave: (e) => handleButtonLeave(e),
848
- children: [
849
- isLoading ? /* @__PURE__ */ jsx(LoaderCircle, { size: 14, className: "animate-spin" }) : /* @__PURE__ */ jsx(Plus, { size: 14 }),
850
- /* @__PURE__ */ jsx("span", { children: "Add" })
851
- ]
852
- }
853
- );
854
- }
855
- if (actionMode === "workspace") {
856
- return /* @__PURE__ */ jsxs(Fragment, { children: [
857
- isInWorkspaceDirectory === false && onMoveToWorkspace && /* @__PURE__ */ jsxs(
858
- "button",
859
- {
860
- type: "button",
861
- onClick: handleMoveToWorkspaceClick,
862
- disabled: isMoving,
863
- title: "Move to workspace directory",
864
- style: actionButtonStyle,
865
- onMouseEnter: (e) => handleButtonHover(e),
866
- onMouseLeave: (e) => handleButtonLeave(e),
867
- children: [
868
- isMoving ? /* @__PURE__ */ jsx(LoaderCircle, { size: 14, className: "animate-spin" }) : /* @__PURE__ */ jsx(MoveUp, { size: 14 }),
869
- /* @__PURE__ */ jsx("span", { children: "Move" })
870
- ]
871
- }
872
- ),
873
- /* @__PURE__ */ jsxs(
874
- "button",
875
- {
876
- type: "button",
877
- onClick: handleCopyPath,
878
- title: copiedPath ? "Copied!" : `Copy path: ${entry.path}`,
879
- style: {
880
- ...actionButtonStyle,
881
- color: copiedPath ? theme.colors.success || "#10b981" : theme.colors.textSecondary
882
- },
883
- onMouseEnter: (e) => handleButtonHover(e),
884
- onMouseLeave: (e) => handleButtonLeave(e, copiedPath ? theme.colors.success || "#10b981" : void 0),
885
- children: [
886
- copiedPath ? /* @__PURE__ */ jsx(Check, { size: 14 }) : /* @__PURE__ */ jsx(Copy, { size: 14 }),
887
- /* @__PURE__ */ jsx("span", { children: copiedPath ? "Copied" : "Copy" })
888
- ]
889
- }
890
- ),
891
- /* @__PURE__ */ jsxs(
892
- "button",
893
- {
894
- type: "button",
895
- onClick: handleOpenClick,
896
- title: "Open repository",
897
- style: actionButtonStyle,
898
- onMouseEnter: (e) => handleButtonHover(e),
899
- onMouseLeave: (e) => handleButtonLeave(e),
900
- children: [
901
- /* @__PURE__ */ jsx(FolderOpen, { size: 14 }),
902
- /* @__PURE__ */ jsx("span", { children: "Open" })
903
- ]
904
- }
905
- ),
906
- onRemoveFromWorkspace && /* @__PURE__ */ jsxs(
907
- "button",
908
- {
909
- type: "button",
910
- onClick: handleRemoveFromWorkspaceClick,
911
- disabled: isRemoving,
912
- title: "Remove from workspace",
913
- style: actionButtonStyle,
914
- onMouseEnter: (e) => handleButtonHover(e, true),
915
- onMouseLeave: (e) => handleButtonLeave(e),
916
- children: [
917
- isRemoving ? /* @__PURE__ */ jsx(LoaderCircle, { size: 14, className: "animate-spin" }) : /* @__PURE__ */ jsx(X, { size: 14 }),
918
- /* @__PURE__ */ jsx("span", { children: "Remove" })
919
- ]
920
- }
921
- )
922
- ] });
923
- }
924
- if (actionMode === "discovered") {
925
- return /* @__PURE__ */ jsxs(Fragment, { children: [
926
- /* @__PURE__ */ jsxs(
927
- "button",
928
- {
929
- type: "button",
930
- onClick: handleTrackClick,
931
- disabled: isLoading,
932
- title: "Track this repository",
933
- style: {
934
- ...actionButtonStyle,
935
- backgroundColor: theme.colors.primary,
936
- color: theme.colors.background
937
- },
938
- onMouseEnter: (e) => {
939
- e.currentTarget.style.opacity = "0.9";
940
- },
941
- onMouseLeave: (e) => {
942
- e.currentTarget.style.opacity = "1";
943
- },
944
- children: [
945
- isLoading ? /* @__PURE__ */ jsx(LoaderCircle, { size: 14, className: "animate-spin" }) : /* @__PURE__ */ jsx(Plus, { size: 14 }),
946
- /* @__PURE__ */ jsx("span", { children: "Track" })
947
- ]
948
- }
949
- ),
950
- /* @__PURE__ */ jsxs(
951
- "button",
952
- {
953
- type: "button",
954
- onClick: handleOpenClick,
955
- title: "Open repository",
956
- style: actionButtonStyle,
957
- onMouseEnter: (e) => handleButtonHover(e),
958
- onMouseLeave: (e) => handleButtonLeave(e),
959
- children: [
960
- /* @__PURE__ */ jsx(FolderOpen, { size: 14 }),
961
- /* @__PURE__ */ jsx("span", { children: "Open" })
962
- ]
963
- }
964
- )
965
- ] });
966
- }
967
- return /* @__PURE__ */ jsxs(Fragment, { children: [
968
- /* @__PURE__ */ jsxs(
969
- "button",
970
- {
971
- type: "button",
972
- onClick: handleCopyPath,
973
- title: copiedPath ? "Copied!" : `Copy path: ${entry.path}`,
974
- style: {
975
- ...actionButtonStyle,
976
- color: copiedPath ? theme.colors.success || "#10b981" : theme.colors.textSecondary
977
- },
978
- onMouseEnter: (e) => handleButtonHover(e),
979
- onMouseLeave: (e) => handleButtonLeave(e, copiedPath ? theme.colors.success || "#10b981" : void 0),
980
- children: [
981
- copiedPath ? /* @__PURE__ */ jsx(Check, { size: 14 }) : /* @__PURE__ */ jsx(Copy, { size: 14 }),
982
- /* @__PURE__ */ jsx("span", { children: copiedPath ? "Copied" : "Copy" })
983
- ]
984
- }
985
- ),
986
- /* @__PURE__ */ jsxs(
987
- "button",
988
- {
989
- type: "button",
990
- onClick: handleOpenClick,
991
- title: windowState === "ready" ? "Focus window" : windowState === "opening" ? "Window is opening..." : "Open locally",
992
- disabled: windowState === "opening",
993
- style: actionButtonStyle,
994
- onMouseEnter: (e) => handleButtonHover(e),
995
- onMouseLeave: (e) => handleButtonLeave(e),
996
- children: [
997
- windowState === "ready" ? /* @__PURE__ */ jsx(Focus, { size: 14 }) : windowState === "opening" ? /* @__PURE__ */ jsx(LoaderCircle, { size: 14, className: "animate-spin" }) : /* @__PURE__ */ jsx(FolderOpen, { size: 14 }),
998
- /* @__PURE__ */ jsx("span", { children: windowState === "ready" ? "Focus" : "Open" })
999
- ]
1000
- }
1001
- ),
1002
- actionMode === "default" && onRemove && /* @__PURE__ */ jsxs(
1003
- "button",
1004
- {
1005
- type: "button",
1006
- onClick: handleRemoveClick,
1007
- disabled: isLoading,
1008
- title: "Remove from local projects",
1009
- style: actionButtonStyle,
1010
- onMouseEnter: (e) => handleButtonHover(e, true),
1011
- onMouseLeave: (e) => handleButtonLeave(e),
1012
- children: [
1013
- isLoading ? /* @__PURE__ */ jsx(LoaderCircle, { size: 14, className: "animate-spin" }) : /* @__PURE__ */ jsx(X, { size: 14 }),
1014
- /* @__PURE__ */ jsx("span", { children: "Remove" })
1015
- ]
1016
- }
1017
- )
1018
- ] });
1019
- };
1020
747
  const cardStyle = {
1021
748
  display: "flex",
1022
749
  flexDirection: "row",
@@ -1128,49 +855,54 @@ const LocalProjectCard = ({
1128
855
  /* @__PURE__ */ jsxs(
1129
856
  "div",
1130
857
  {
858
+ onClick: handleCopyPath,
1131
859
  style: {
1132
860
  display: "flex",
1133
861
  alignItems: "center",
862
+ gap: "6px",
1134
863
  minHeight: "24px",
1135
- position: "relative"
864
+ cursor: "pointer",
865
+ padding: "2px 0"
1136
866
  },
867
+ title: copiedPath ? "Copied!" : `Click to copy: ${entry.path}`,
1137
868
  children: [
1138
869
  /* @__PURE__ */ jsx(
1139
- "div",
870
+ "span",
1140
871
  {
1141
872
  style: {
1142
873
  flex: 1,
1143
874
  fontSize: `${theme.fontSizes[1]}px`,
1144
- color: theme.colors.textSecondary,
875
+ color: copiedPath ? theme.colors.success || "#10b981" : theme.colors.textSecondary,
1145
876
  lineHeight: 1.4,
1146
877
  whiteSpace: "nowrap",
1147
878
  overflow: "hidden",
1148
879
  textOverflow: "ellipsis",
1149
880
  minWidth: 0,
1150
- opacity: isHovered ? 0 : 1,
1151
- transition: "opacity 0.15s ease"
881
+ transition: "color 0.15s ease"
1152
882
  },
1153
- title: ((_e = entry.github) == null ? void 0 : _e.description) || displayPath,
1154
- children: ((_f = entry.github) == null ? void 0 : _f.description) || displayPath
883
+ children: copiedPath ? "✓ Copied!" : displayPath
1155
884
  }
1156
885
  ),
1157
- /* @__PURE__ */ jsx(
1158
- "div",
886
+ !copiedPath && /* @__PURE__ */ jsx(
887
+ Copy,
1159
888
  {
889
+ size: 12,
1160
890
  style: {
1161
- position: "absolute",
1162
- left: 0,
1163
- right: 0,
1164
- top: 0,
1165
- bottom: 0,
1166
- display: "flex",
1167
- alignItems: "center",
1168
- gap: "4px",
891
+ color: theme.colors.textSecondary,
892
+ flexShrink: 0,
1169
893
  opacity: isHovered ? 1 : 0,
1170
- pointerEvents: isHovered ? "auto" : "none",
1171
894
  transition: "opacity 0.15s ease"
1172
- },
1173
- children: renderActionButtons()
895
+ }
896
+ }
897
+ ),
898
+ copiedPath && /* @__PURE__ */ jsx(
899
+ Check,
900
+ {
901
+ size: 12,
902
+ style: {
903
+ color: theme.colors.success || "#10b981",
904
+ flexShrink: 0
905
+ }
1174
906
  }
1175
907
  )
1176
908
  ]