@thestatic-tv/dcl-sdk 2.5.13 → 2.5.14

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.mts CHANGED
@@ -846,11 +846,16 @@ declare class AdminPanelUIModule {
846
846
  private TabBtn;
847
847
  private VideoTab;
848
848
  private ModTab;
849
+ /**
850
+ * Render a scaled notification banner
851
+ * Uses same layout as NotificationBanner but with scaled font size
852
+ */
853
+ private renderScaledNotification;
849
854
  /**
850
855
  * Get the React-ECS component for the admin panel
851
- * Always renders NotificationBanner (for broadcasts), admin panel only for admins
856
+ * Always renders notification (scaled), admin panel only for admins
852
857
  */
853
- getComponent: () => ReactEcs.JSX.Element;
858
+ getComponent: () => ReactEcs.JSX.Element | null;
854
859
  }
855
860
 
856
861
  /**
package/dist/index.d.ts CHANGED
@@ -846,11 +846,16 @@ declare class AdminPanelUIModule {
846
846
  private TabBtn;
847
847
  private VideoTab;
848
848
  private ModTab;
849
+ /**
850
+ * Render a scaled notification banner
851
+ * Uses same layout as NotificationBanner but with scaled font size
852
+ */
853
+ private renderScaledNotification;
849
854
  /**
850
855
  * Get the React-ECS component for the admin panel
851
- * Always renders NotificationBanner (for broadcasts), admin panel only for admins
856
+ * Always renders notification (scaled), admin panel only for admins
852
857
  */
853
- getComponent: () => ReactEcs.JSX.Element;
858
+ getComponent: () => ReactEcs.JSX.Element | null;
854
859
  }
855
860
 
856
861
  /**
package/dist/index.js CHANGED
@@ -2330,6 +2330,9 @@ function showNotification(message, durationMs = 5e3) {
2330
2330
  function hideNotification() {
2331
2331
  notificationVisible = false;
2332
2332
  }
2333
+ function getNotificationState() {
2334
+ return { text: notificationText, visible: notificationVisible };
2335
+ }
2333
2336
  function initNotificationSystem() {
2334
2337
  if (notificationInitialized) return;
2335
2338
  notificationInitialized = true;
@@ -2880,11 +2883,11 @@ var AdminPanelUIModule = class {
2880
2883
  };
2881
2884
  /**
2882
2885
  * Get the React-ECS component for the admin panel
2883
- * Always renders NotificationBanner (for broadcasts), admin panel only for admins
2886
+ * Always renders notification (scaled), admin panel only for admins
2884
2887
  */
2885
2888
  this.getComponent = () => {
2886
2889
  if (!this.isAdmin) {
2887
- return /* @__PURE__ */ import_react_ecs5.default.createElement(NotificationBanner, null);
2890
+ return this.renderScaledNotification();
2888
2891
  }
2889
2892
  const t = this.theme;
2890
2893
  const tabs = [];
@@ -2909,7 +2912,7 @@ var AdminPanelUIModule = class {
2909
2912
  positionType: "absolute"
2910
2913
  }
2911
2914
  },
2912
- /* @__PURE__ */ import_react_ecs5.default.createElement(NotificationBanner, null),
2915
+ this.renderScaledNotification(),
2913
2916
  /* @__PURE__ */ import_react_ecs5.default.createElement(
2914
2917
  import_react_ecs5.UiEntity,
2915
2918
  {
@@ -3644,6 +3647,76 @@ var AdminPanelUIModule = class {
3644
3647
  this.stopStreamPolling();
3645
3648
  }
3646
3649
  }
3650
+ /**
3651
+ * Render a scaled notification banner
3652
+ * Uses same layout as NotificationBanner but with scaled font size
3653
+ */
3654
+ renderScaledNotification() {
3655
+ initNotificationSystem();
3656
+ const state = getNotificationState();
3657
+ if (!state.visible) return null;
3658
+ const N2 = UI_DIMENSIONS.notification;
3659
+ const colors = THEME.colors;
3660
+ return /* @__PURE__ */ import_react_ecs5.default.createElement(
3661
+ import_react_ecs5.UiEntity,
3662
+ {
3663
+ uiTransform: {
3664
+ positionType: "absolute",
3665
+ position: { bottom: N2.bottom, left: 0, right: 0 },
3666
+ height: this.s(N2.height),
3667
+ justifyContent: "center",
3668
+ alignItems: "center"
3669
+ }
3670
+ },
3671
+ /* @__PURE__ */ import_react_ecs5.default.createElement(
3672
+ import_react_ecs5.UiEntity,
3673
+ {
3674
+ uiTransform: {
3675
+ width: this.s(N2.width),
3676
+ height: this.s(N2.height),
3677
+ flexDirection: "row",
3678
+ alignItems: "center"
3679
+ },
3680
+ uiBackground: { color: colors.panel }
3681
+ },
3682
+ /* @__PURE__ */ import_react_ecs5.default.createElement(
3683
+ import_react_ecs5.UiEntity,
3684
+ {
3685
+ uiTransform: { width: N2.borderWidth, height: "100%" },
3686
+ uiBackground: { color: colors.cyan }
3687
+ }
3688
+ ),
3689
+ /* @__PURE__ */ import_react_ecs5.default.createElement(
3690
+ import_react_ecs5.UiEntity,
3691
+ {
3692
+ uiTransform: {
3693
+ flexGrow: 1,
3694
+ height: "100%",
3695
+ padding: { left: 10, right: 10 },
3696
+ justifyContent: "center",
3697
+ alignItems: "flex-start"
3698
+ }
3699
+ },
3700
+ /* @__PURE__ */ import_react_ecs5.default.createElement(
3701
+ import_react_ecs5.Label,
3702
+ {
3703
+ value: state.text,
3704
+ fontSize: this.s(N2.fontSize),
3705
+ color: colors.white,
3706
+ textAlign: "middle-left"
3707
+ }
3708
+ )
3709
+ ),
3710
+ /* @__PURE__ */ import_react_ecs5.default.createElement(
3711
+ import_react_ecs5.UiEntity,
3712
+ {
3713
+ uiTransform: { width: 5, height: 5, margin: { right: 10 } },
3714
+ uiBackground: { color: colors.cyan }
3715
+ }
3716
+ )
3717
+ )
3718
+ );
3719
+ }
3647
3720
  };
3648
3721
 
3649
3722
  // src/StaticTVClient.ts
package/dist/index.mjs CHANGED
@@ -2285,6 +2285,9 @@ function showNotification(message, durationMs = 5e3) {
2285
2285
  function hideNotification() {
2286
2286
  notificationVisible = false;
2287
2287
  }
2288
+ function getNotificationState() {
2289
+ return { text: notificationText, visible: notificationVisible };
2290
+ }
2288
2291
  function initNotificationSystem() {
2289
2292
  if (notificationInitialized) return;
2290
2293
  notificationInitialized = true;
@@ -2835,11 +2838,11 @@ var AdminPanelUIModule = class {
2835
2838
  };
2836
2839
  /**
2837
2840
  * Get the React-ECS component for the admin panel
2838
- * Always renders NotificationBanner (for broadcasts), admin panel only for admins
2841
+ * Always renders notification (scaled), admin panel only for admins
2839
2842
  */
2840
2843
  this.getComponent = () => {
2841
2844
  if (!this.isAdmin) {
2842
- return /* @__PURE__ */ ReactEcs5.createElement(NotificationBanner, null);
2845
+ return this.renderScaledNotification();
2843
2846
  }
2844
2847
  const t = this.theme;
2845
2848
  const tabs = [];
@@ -2864,7 +2867,7 @@ var AdminPanelUIModule = class {
2864
2867
  positionType: "absolute"
2865
2868
  }
2866
2869
  },
2867
- /* @__PURE__ */ ReactEcs5.createElement(NotificationBanner, null),
2870
+ this.renderScaledNotification(),
2868
2871
  /* @__PURE__ */ ReactEcs5.createElement(
2869
2872
  UiEntity5,
2870
2873
  {
@@ -3599,6 +3602,76 @@ var AdminPanelUIModule = class {
3599
3602
  this.stopStreamPolling();
3600
3603
  }
3601
3604
  }
3605
+ /**
3606
+ * Render a scaled notification banner
3607
+ * Uses same layout as NotificationBanner but with scaled font size
3608
+ */
3609
+ renderScaledNotification() {
3610
+ initNotificationSystem();
3611
+ const state = getNotificationState();
3612
+ if (!state.visible) return null;
3613
+ const N2 = UI_DIMENSIONS.notification;
3614
+ const colors = THEME.colors;
3615
+ return /* @__PURE__ */ ReactEcs5.createElement(
3616
+ UiEntity5,
3617
+ {
3618
+ uiTransform: {
3619
+ positionType: "absolute",
3620
+ position: { bottom: N2.bottom, left: 0, right: 0 },
3621
+ height: this.s(N2.height),
3622
+ justifyContent: "center",
3623
+ alignItems: "center"
3624
+ }
3625
+ },
3626
+ /* @__PURE__ */ ReactEcs5.createElement(
3627
+ UiEntity5,
3628
+ {
3629
+ uiTransform: {
3630
+ width: this.s(N2.width),
3631
+ height: this.s(N2.height),
3632
+ flexDirection: "row",
3633
+ alignItems: "center"
3634
+ },
3635
+ uiBackground: { color: colors.panel }
3636
+ },
3637
+ /* @__PURE__ */ ReactEcs5.createElement(
3638
+ UiEntity5,
3639
+ {
3640
+ uiTransform: { width: N2.borderWidth, height: "100%" },
3641
+ uiBackground: { color: colors.cyan }
3642
+ }
3643
+ ),
3644
+ /* @__PURE__ */ ReactEcs5.createElement(
3645
+ UiEntity5,
3646
+ {
3647
+ uiTransform: {
3648
+ flexGrow: 1,
3649
+ height: "100%",
3650
+ padding: { left: 10, right: 10 },
3651
+ justifyContent: "center",
3652
+ alignItems: "flex-start"
3653
+ }
3654
+ },
3655
+ /* @__PURE__ */ ReactEcs5.createElement(
3656
+ Label5,
3657
+ {
3658
+ value: state.text,
3659
+ fontSize: this.s(N2.fontSize),
3660
+ color: colors.white,
3661
+ textAlign: "middle-left"
3662
+ }
3663
+ )
3664
+ ),
3665
+ /* @__PURE__ */ ReactEcs5.createElement(
3666
+ UiEntity5,
3667
+ {
3668
+ uiTransform: { width: 5, height: 5, margin: { right: 10 } },
3669
+ uiBackground: { color: colors.cyan }
3670
+ }
3671
+ )
3672
+ )
3673
+ );
3674
+ }
3602
3675
  };
3603
3676
 
3604
3677
  // src/StaticTVClient.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thestatic-tv/dcl-sdk",
3
- "version": "2.5.13",
3
+ "version": "2.5.14",
4
4
  "description": "Connect your Decentraland scene to thestatic.tv - full channel lineup, metrics tracking, and interactions",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",