@mundogamernetwork/shared-ui 1.2.5 → 1.2.7

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/nuxt.config.ts CHANGED
@@ -61,6 +61,36 @@ export default defineNuxtConfig({
61
61
  priority: SHARED_UI_COMPONENT_PRIORITY,
62
62
  },
63
63
  ],
64
+ // @pinia/nuxt only auto-scans the top-level app's own storesDirs by
65
+ // default — it does NOT pick up an extended layer's stores/ directory on
66
+ // its own. Every consuming app previously had to hand-list these specific
67
+ // files in its own nuxt.config.ts pinia.storesDirs (see tv-frontend/
68
+ // community-frontend/agency-frontend history) — easy to forget for new
69
+ // apps and a real cause of a production 500 (useAnnouncementStore /
70
+ // useAppInstallBannerStore "is not defined") when tv-frontend's list
71
+ // went stale relative to shared-ui.
72
+ //
73
+ // Nuxt/c12 merges extended-layer config via defu, which concatenates
74
+ // arrays, so declaring these here gets picked up by every consumer
75
+ // automatically without they having to list them — consumers can still
76
+ // add their own storesDirs entries and this list just gets appended.
77
+ //
78
+ // Deliberately an explicit file list, NOT "${packageRoot}/stores/**" —
79
+ // shared-ui also ships auth/chat/contact/institutional/index stores that
80
+ // collide by name with consuming apps' own, more full-featured local
81
+ // versions; a full glob would silently override them.
82
+ //
83
+ // Absolute paths (via packageRoot), same reasoning as the components dir
84
+ // above: a relative path here resolves against the *consuming app's*
85
+ // srcDir when this file is loaded as an extended layer, not shared-ui's
86
+ // own directory.
87
+ pinia: {
88
+ storesDirs: [
89
+ `${packageRoot}/stores/announcement.ts`,
90
+ `${packageRoot}/stores/appInstallBanner.ts`,
91
+ `${packageRoot}/stores/promotion.ts`,
92
+ ],
93
+ },
64
94
  css: [
65
95
  "@mundogamernetwork/shared-ui/assets/kit/kit-base.css",
66
96
  "@mundogamernetwork/shared-ui/assets/kit/kit-theme.css",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mundogamernetwork/shared-ui",
3
- "version": "1.2.5",
3
+ "version": "1.2.7",
4
4
  "description": "Mundo Gamer Network - Shared UI Layer (Nuxt 3)",
5
5
  "type": "module",
6
6
  "main": "./nuxt.config.ts",
@@ -1427,62 +1427,6 @@ onMounted(async () => {
1427
1427
  }
1428
1428
  }
1429
1429
 
1430
- .users-modal {
1431
- position: fixed;
1432
- inset: 0;
1433
- z-index: 1000;
1434
- display: flex;
1435
- align-items: center;
1436
- justify-content: center;
1437
- background: var(--overlay-dark-strong, rgba(0, 0, 0, 0.75));
1438
-
1439
- .users-modal-content {
1440
- width: 100%;
1441
- max-width: 360px;
1442
- max-height: 70vh;
1443
- background: var(--button-secondary-default-bg);
1444
- display: flex;
1445
- flex-direction: column;
1446
- }
1447
-
1448
- .users-modal-header {
1449
- display: flex;
1450
- align-items: center;
1451
- justify-content: space-between;
1452
- padding: 16px;
1453
- font-size: 14px;
1454
- font-weight: 600;
1455
- color: var(--card-article-title);
1456
- border-bottom: 1px solid var(--bg-app-badge);
1457
-
1458
- .close-button { background: transparent; border: none; color: var(--secondary-info-fg); cursor: pointer; }
1459
- }
1460
-
1461
- .users-modal-body {
1462
- overflow-y: auto;
1463
- padding: 8px 16px;
1464
- }
1465
-
1466
- .users-modal-empty {
1467
- padding: 24px 0;
1468
- text-align: center;
1469
- font-size: 13px;
1470
- color: var(--secondary-info-fg);
1471
- }
1472
-
1473
- .users-modal-row {
1474
- display: flex;
1475
- align-items: center;
1476
- gap: 10px;
1477
- padding: 10px 0;
1478
- border-bottom: 1px solid var(--bg-app-badge);
1479
- &:last-child { border-bottom: none; }
1480
-
1481
- img { width: 36px; height: 36px; border-radius: 0; }
1482
- span { font-size: 13px; color: var(--card-article-title); }
1483
- }
1484
- }
1485
-
1486
1430
  .company {
1487
1431
  display: flex;
1488
1432
  gap: 12px;
@@ -1524,4 +1468,65 @@ onMounted(async () => {
1524
1468
  }
1525
1469
  }
1526
1470
  }
1471
+
1472
+ // Top-level (not nested under #shared-campaign-detail's inner selectors) —
1473
+ // this is a fixed full-screen overlay rendered as a sibling of .actions in
1474
+ // the template, not a descendant, so it can't be scoped under .actions/
1475
+ // .side-border/.cards like the rest of this file without the compiled
1476
+ // descendant selector silently never matching (which is what broke it).
1477
+ .users-modal {
1478
+ position: fixed;
1479
+ inset: 0;
1480
+ z-index: 1000;
1481
+ display: flex;
1482
+ align-items: center;
1483
+ justify-content: center;
1484
+ background: var(--overlay-dark-strong, rgba(0, 0, 0, 0.75));
1485
+
1486
+ .users-modal-content {
1487
+ width: 100%;
1488
+ max-width: 360px;
1489
+ max-height: 70vh;
1490
+ background: var(--button-secondary-default-bg);
1491
+ display: flex;
1492
+ flex-direction: column;
1493
+ }
1494
+
1495
+ .users-modal-header {
1496
+ display: flex;
1497
+ align-items: center;
1498
+ justify-content: space-between;
1499
+ padding: 16px;
1500
+ font-size: 14px;
1501
+ font-weight: 600;
1502
+ color: var(--card-article-title);
1503
+ border-bottom: 1px solid var(--bg-app-badge);
1504
+
1505
+ .close-button { background: transparent; border: none; color: var(--secondary-info-fg); cursor: pointer; }
1506
+ }
1507
+
1508
+ .users-modal-body {
1509
+ overflow-y: auto;
1510
+ padding: 8px 16px;
1511
+ }
1512
+
1513
+ .users-modal-empty {
1514
+ padding: 24px 0;
1515
+ text-align: center;
1516
+ font-size: 13px;
1517
+ color: var(--secondary-info-fg);
1518
+ }
1519
+
1520
+ .users-modal-row {
1521
+ display: flex;
1522
+ align-items: center;
1523
+ gap: 10px;
1524
+ padding: 10px 0;
1525
+ border-bottom: 1px solid var(--bg-app-badge);
1526
+ &:last-child { border-bottom: none; }
1527
+
1528
+ img { width: 36px; height: 36px; border-radius: 100%; object-fit: cover; }
1529
+ span { font-size: 13px; color: var(--card-article-title); }
1530
+ }
1531
+ }
1527
1532
  </style>