claude-code-marketplace 0.5.12 → 0.6.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-code-marketplace",
3
- "version": "0.5.12",
3
+ "version": "0.6.0",
4
4
  "description": "Web UI for browsing and managing Claude Code marketplace plugins",
5
5
  "main": "server.js",
6
6
  "bin": {
package/public/app.js CHANGED
@@ -1466,4 +1466,24 @@ function hubNavigate(app, url) {
1466
1466
  if (!window.__HUB__?.enabled) return;
1467
1467
  window.parent?.postMessage({ type: 'hub:navigate', app, url }, '*');
1468
1468
  }
1469
+
1470
+ (function initHubTheme() {
1471
+ const getTheme = () => (document.body.classList.contains('light') ? 'light' : 'dark');
1472
+ const hubOrigin = () => (window.__HUB__?.url ? new URL(window.__HUB__.url).origin : null);
1473
+ let lastTheme = getTheme();
1474
+ window.addEventListener('message', (e) => {
1475
+ if (e.source !== window.parent || e.origin !== hubOrigin()) return;
1476
+ if (e.data?.type !== 'hub:theme') return;
1477
+ if (getTheme() === e.data.theme) return;
1478
+ window.toggleTheme();
1479
+ lastTheme = getTheme();
1480
+ });
1481
+ new MutationObserver(() => {
1482
+ const t = getTheme();
1483
+ if (t === lastTheme) return;
1484
+ lastTheme = t;
1485
+ const origin = hubOrigin();
1486
+ if (origin) window.parent.postMessage({ type: 'hub:theme', theme: t }, origin);
1487
+ }).observe(document.body, { attributes: true, attributeFilter: ['class'] });
1488
+ })();
1469
1489
  // #endregion HUB_INTEGRATION
package/public/style.css CHANGED
@@ -334,11 +334,11 @@ body {
334
334
  display: flex;
335
335
  align-items: center;
336
336
  gap: 6px;
337
- padding: 6px 12px;
338
- font-size: 12px;
337
+ padding: 7px 12px;
338
+ font-size: 13px;
339
339
  cursor: pointer;
340
340
  transition: background 0.1s ease;
341
- min-height: 34px;
341
+ min-height: 38px;
342
342
  flex-wrap: nowrap;
343
343
  border-left: 2px solid transparent;
344
344
  }
@@ -360,7 +360,7 @@ body {
360
360
  position: sticky;
361
361
  top: 0;
362
362
  z-index: 2;
363
- font-size: 11px;
363
+ font-size: 12px;
364
364
  text-transform: uppercase;
365
365
  letter-spacing: 0.04em;
366
366
  padding: 8px 12px;
@@ -395,8 +395,8 @@ body {
395
395
  opacity: 0.45;
396
396
  }
397
397
  .tree-icon svg {
398
- width: 14px;
399
- height: 14px;
398
+ width: 15px;
399
+ height: 15px;
400
400
  }
401
401
  .tree-label {
402
402
  flex-shrink: 0;
@@ -405,7 +405,7 @@ body {
405
405
  color: var(--text-secondary);
406
406
  }
407
407
  .version {
408
- font-size: 10px;
408
+ font-size: 11px;
409
409
  color: var(--accent);
410
410
  background: var(--accent-dim);
411
411
  padding: 1px 5px;
@@ -421,8 +421,8 @@ body {
421
421
  color: var(--text-primary);
422
422
  }
423
423
  .tree-meta {
424
- font-size: 10px;
425
- color: var(--text-muted);
424
+ font-size: 11px;
425
+ color: var(--text-tertiary);
426
426
  flex-shrink: 0;
427
427
  white-space: nowrap;
428
428
  }
@@ -456,37 +456,50 @@ body {
456
456
  border-color: rgba(196, 149, 106, 0.4);
457
457
  color: rgba(196, 149, 106, 0.5);
458
458
  }
459
- .scope-toggle.user.active,
460
- .scope-toggle.user.disabled {
459
+ .scope-toggle.user.active {
461
460
  background: var(--scope-user-dim);
462
461
  color: var(--scope-user);
463
462
  border-color: var(--scope-user);
464
463
  }
464
+ .scope-toggle.user.disabled {
465
+ background: transparent;
466
+ color: var(--scope-user);
467
+ border-color: var(--scope-user);
468
+ }
465
469
 
466
470
  .scope-toggle.project {
467
471
  border-color: rgba(122, 181, 160, 0.4);
468
472
  color: rgba(122, 181, 160, 0.5);
469
473
  }
470
- .scope-toggle.project.active,
471
- .scope-toggle.project.disabled {
474
+ .scope-toggle.project.active {
472
475
  background: var(--scope-project-dim);
473
476
  color: var(--scope-project);
474
477
  border-color: var(--scope-project);
475
478
  }
479
+ .scope-toggle.project.disabled {
480
+ background: transparent;
481
+ color: var(--scope-project);
482
+ border-color: var(--scope-project);
483
+ }
476
484
 
477
485
  .scope-toggle.local {
478
486
  border-color: rgba(138, 155, 181, 0.4);
479
487
  color: rgba(138, 155, 181, 0.5);
480
488
  }
481
- .scope-toggle.local.active,
482
- .scope-toggle.local.disabled {
489
+ .scope-toggle.local.active {
483
490
  background: var(--scope-local-dim);
484
491
  color: var(--scope-local);
485
492
  border-color: var(--scope-local);
486
493
  }
494
+ .scope-toggle.local.disabled {
495
+ background: transparent;
496
+ color: var(--scope-local);
497
+ border-color: var(--scope-local);
498
+ }
487
499
  .scope-toggle.disabled {
488
- border-style: dashed;
489
- opacity: 0.6;
500
+ text-decoration: line-through;
501
+ text-decoration-thickness: 1px;
502
+ opacity: 0.75;
490
503
  }
491
504
 
492
505
  /* Light theme: boost inactive scope contrast further */
@@ -633,9 +646,9 @@ body.light .scope-toggle.local {
633
646
  }
634
647
 
635
648
  .tree-desc-inline {
636
- font-size: 11px;
637
- color: var(--text-muted);
638
- opacity: 0.95;
649
+ font-size: 12px;
650
+ color: var(--text-tertiary);
651
+ opacity: 1;
639
652
  white-space: nowrap;
640
653
  overflow: hidden;
641
654
  text-overflow: ellipsis;