stormcloud-video-player 0.7.26 → 0.7.28
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/stormcloud-vp.min.js +1 -1
- package/lib/index.cjs +266 -104
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +266 -104
- package/lib/index.js.map +1 -1
- package/lib/player/StormcloudVideoPlayer.cjs +16 -11
- package/lib/player/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/player/StormcloudVideoPlayer.d.cts +1 -0
- package/lib/players/HlsPlayer.cjs +16 -11
- package/lib/players/HlsPlayer.cjs.map +1 -1
- package/lib/players/index.cjs +16 -11
- package/lib/players/index.cjs.map +1 -1
- package/lib/ui/OverlayRenderer.cjs +131 -28
- package/lib/ui/OverlayRenderer.cjs.map +1 -1
- package/lib/ui/StormcloudVideoPlayer.cjs +266 -104
- package/lib/ui/StormcloudVideoPlayer.cjs.map +1 -1
- package/package.json +1 -1
package/lib/index.d.cts
CHANGED
|
@@ -194,6 +194,7 @@ declare class StormcloudVideoPlayer {
|
|
|
194
194
|
getRemainingAdSeconds(): number;
|
|
195
195
|
isAdPlaying(): boolean;
|
|
196
196
|
isShowingAds(): boolean;
|
|
197
|
+
isInAdBreak(): boolean;
|
|
197
198
|
private initializeAdLayer;
|
|
198
199
|
setDisableAds(disabled: boolean): void;
|
|
199
200
|
private syncMainContentAudioWhenVisible;
|
package/lib/index.d.ts
CHANGED
|
@@ -194,6 +194,7 @@ declare class StormcloudVideoPlayer {
|
|
|
194
194
|
getRemainingAdSeconds(): number;
|
|
195
195
|
isAdPlaying(): boolean;
|
|
196
196
|
isShowingAds(): boolean;
|
|
197
|
+
isInAdBreak(): boolean;
|
|
197
198
|
private initializeAdLayer;
|
|
198
199
|
setDisableAds(disabled: boolean): void;
|
|
199
200
|
private syncMainContentAudioWhenVisible;
|
package/lib/index.js
CHANGED
|
@@ -3248,6 +3248,9 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
3248
3248
|
}
|
|
3249
3249
|
_this.adLayer.cancelPreload(token);
|
|
3250
3250
|
} else {
|
|
3251
|
+
_this.video.style.transition = "none";
|
|
3252
|
+
_this.video.style.opacity = "0";
|
|
3253
|
+
_this.video.style.visibility = "hidden";
|
|
3251
3254
|
if (!_this.config.singlePipelineMode) {
|
|
3252
3255
|
_this.showPlaceholderLayer();
|
|
3253
3256
|
}
|
|
@@ -3274,6 +3277,9 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
3274
3277
|
console.log("[StormcloudVideoPlayer] content_resume: skip pending bids, only", remainingNow1, "ms left");
|
|
3275
3278
|
}
|
|
3276
3279
|
} else {
|
|
3280
|
+
_this.video.style.transition = "none";
|
|
3281
|
+
_this.video.style.opacity = "0";
|
|
3282
|
+
_this.video.style.visibility = "hidden";
|
|
3277
3283
|
if (!_this.config.singlePipelineMode) {
|
|
3278
3284
|
_this.showPlaceholderLayer();
|
|
3279
3285
|
}
|
|
@@ -3303,17 +3309,10 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
3303
3309
|
_this.showPlaceholderLayer();
|
|
3304
3310
|
_this.adLayer.showPlaceholder();
|
|
3305
3311
|
} else {
|
|
3306
|
-
_this.
|
|
3307
|
-
|
|
3308
|
-
|
|
3309
|
-
|
|
3310
|
-
if (Math.abs(_this.video.volume - breakVolume) > 0.01) {
|
|
3311
|
-
_this.video.volume = breakVolume;
|
|
3312
|
-
}
|
|
3313
|
-
if (_this.video.paused) {
|
|
3314
|
-
var _this_video_play;
|
|
3315
|
-
(_this_video_play = _this.video.play()) === null || _this_video_play === void 0 ? void 0 : _this_video_play.catch(function() {});
|
|
3316
|
-
}
|
|
3312
|
+
_this.video.style.transition = "none";
|
|
3313
|
+
_this.video.style.opacity = "0";
|
|
3314
|
+
_this.video.style.visibility = "hidden";
|
|
3315
|
+
_this.adLayer.showPlaceholder();
|
|
3317
3316
|
}
|
|
3318
3317
|
_this.continuousFetchingActive = true;
|
|
3319
3318
|
_this.startContinuousFetchLoop();
|
|
@@ -3525,6 +3524,12 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
3525
3524
|
return this.showAds;
|
|
3526
3525
|
}
|
|
3527
3526
|
},
|
|
3527
|
+
{
|
|
3528
|
+
key: "isInAdBreak",
|
|
3529
|
+
value: function isInAdBreak() {
|
|
3530
|
+
return this.inAdBreak;
|
|
3531
|
+
}
|
|
3532
|
+
},
|
|
3528
3533
|
{
|
|
3529
3534
|
key: "initializeAdLayer",
|
|
3530
3535
|
value: function initializeAdLayer() {
|
|
@@ -5784,42 +5789,126 @@ function TextOverlay(param) {
|
|
|
5784
5789
|
children: text
|
|
5785
5790
|
});
|
|
5786
5791
|
}
|
|
5792
|
+
function parseRSSXml(xmlText, maxItems) {
|
|
5793
|
+
var parser = new DOMParser();
|
|
5794
|
+
var doc = parser.parseFromString(xmlText, "text/xml");
|
|
5795
|
+
if (doc.querySelector("parsererror")) throw new Error("Invalid RSS XML");
|
|
5796
|
+
return Array.from(doc.querySelectorAll("item")).map(function(item) {
|
|
5797
|
+
var _item_querySelector, _item_querySelector1, _item_querySelector2, _item_querySelector3, _item_querySelector4;
|
|
5798
|
+
return {
|
|
5799
|
+
title: (((_item_querySelector = item.querySelector("title")) === null || _item_querySelector === void 0 ? void 0 : _item_querySelector.textContent) || "").replace(/<[^>]*>/g, "").trim(),
|
|
5800
|
+
description: (((_item_querySelector1 = item.querySelector("description")) === null || _item_querySelector1 === void 0 ? void 0 : _item_querySelector1.textContent) || "").replace(/<[^>]*>/g, "").trim(),
|
|
5801
|
+
pubDate: ((_item_querySelector2 = item.querySelector("pubDate")) === null || _item_querySelector2 === void 0 ? void 0 : _item_querySelector2.textContent) || "",
|
|
5802
|
+
author: ((_item_querySelector3 = item.querySelector("author, dc\\:creator")) === null || _item_querySelector3 === void 0 ? void 0 : _item_querySelector3.textContent) || "",
|
|
5803
|
+
category: ((_item_querySelector4 = item.querySelector("category")) === null || _item_querySelector4 === void 0 ? void 0 : _item_querySelector4.textContent) || ""
|
|
5804
|
+
};
|
|
5805
|
+
}).filter(function(i) {
|
|
5806
|
+
return i.title;
|
|
5807
|
+
}).slice(0, maxItems);
|
|
5808
|
+
}
|
|
5787
5809
|
function fetchRSSItems(rssUrl, maxItems) {
|
|
5788
5810
|
return _async_to_generator(function() {
|
|
5789
|
-
var
|
|
5811
|
+
var encoded, resp2, data, unused, resp21, text2, unused1, resp, text;
|
|
5790
5812
|
return _ts_generator(this, function(_state) {
|
|
5791
5813
|
switch(_state.label){
|
|
5792
5814
|
case 0:
|
|
5815
|
+
encoded = encodeURIComponent(rssUrl);
|
|
5816
|
+
_state.label = 1;
|
|
5817
|
+
case 1:
|
|
5818
|
+
_state.trys.push([
|
|
5819
|
+
1,
|
|
5820
|
+
5,
|
|
5821
|
+
,
|
|
5822
|
+
6
|
|
5823
|
+
]);
|
|
5793
5824
|
return [
|
|
5794
5825
|
4,
|
|
5795
|
-
fetch("https://api.allorigins.win/get?url=".concat(
|
|
5826
|
+
fetch("https://api.allorigins.win/get?url=".concat(encoded))
|
|
5827
|
+
];
|
|
5828
|
+
case 2:
|
|
5829
|
+
resp2 = _state.sent();
|
|
5830
|
+
if (!resp2.ok) return [
|
|
5831
|
+
3,
|
|
5832
|
+
4
|
|
5796
5833
|
];
|
|
5797
|
-
case 1:
|
|
5798
|
-
resp = _state.sent();
|
|
5799
5834
|
return [
|
|
5800
5835
|
4,
|
|
5801
|
-
|
|
5836
|
+
resp2.json()
|
|
5802
5837
|
];
|
|
5803
|
-
case
|
|
5838
|
+
case 3:
|
|
5804
5839
|
data = _state.sent();
|
|
5805
|
-
if (
|
|
5806
|
-
|
|
5807
|
-
|
|
5808
|
-
|
|
5840
|
+
if (data.contents) return [
|
|
5841
|
+
2,
|
|
5842
|
+
parseRSSXml(data.contents, maxItems)
|
|
5843
|
+
];
|
|
5844
|
+
_state.label = 4;
|
|
5845
|
+
case 4:
|
|
5846
|
+
return [
|
|
5847
|
+
3,
|
|
5848
|
+
6
|
|
5849
|
+
];
|
|
5850
|
+
case 5:
|
|
5851
|
+
unused = _state.sent();
|
|
5852
|
+
return [
|
|
5853
|
+
3,
|
|
5854
|
+
6
|
|
5855
|
+
];
|
|
5856
|
+
case 6:
|
|
5857
|
+
_state.trys.push([
|
|
5858
|
+
6,
|
|
5859
|
+
10,
|
|
5860
|
+
,
|
|
5861
|
+
11
|
|
5862
|
+
]);
|
|
5809
5863
|
return [
|
|
5864
|
+
4,
|
|
5865
|
+
fetch("https://corsproxy.io/?url=".concat(encoded))
|
|
5866
|
+
];
|
|
5867
|
+
case 7:
|
|
5868
|
+
resp21 = _state.sent();
|
|
5869
|
+
if (!resp21.ok) return [
|
|
5870
|
+
3,
|
|
5871
|
+
9
|
|
5872
|
+
];
|
|
5873
|
+
return [
|
|
5874
|
+
4,
|
|
5875
|
+
resp21.text()
|
|
5876
|
+
];
|
|
5877
|
+
case 8:
|
|
5878
|
+
text2 = _state.sent();
|
|
5879
|
+
if (text2) return [
|
|
5810
5880
|
2,
|
|
5811
|
-
|
|
5812
|
-
|
|
5813
|
-
|
|
5814
|
-
|
|
5815
|
-
|
|
5816
|
-
|
|
5817
|
-
|
|
5818
|
-
|
|
5819
|
-
|
|
5820
|
-
|
|
5821
|
-
|
|
5822
|
-
|
|
5881
|
+
parseRSSXml(text2, maxItems)
|
|
5882
|
+
];
|
|
5883
|
+
_state.label = 9;
|
|
5884
|
+
case 9:
|
|
5885
|
+
return [
|
|
5886
|
+
3,
|
|
5887
|
+
11
|
|
5888
|
+
];
|
|
5889
|
+
case 10:
|
|
5890
|
+
unused1 = _state.sent();
|
|
5891
|
+
return [
|
|
5892
|
+
3,
|
|
5893
|
+
11
|
|
5894
|
+
];
|
|
5895
|
+
case 11:
|
|
5896
|
+
return [
|
|
5897
|
+
4,
|
|
5898
|
+
fetch("https://thingproxy.freeboard.io/fetch/".concat(rssUrl))
|
|
5899
|
+
];
|
|
5900
|
+
case 12:
|
|
5901
|
+
resp = _state.sent();
|
|
5902
|
+
if (!resp.ok) throw new Error("RSS fetch failed: ".concat(resp.status));
|
|
5903
|
+
return [
|
|
5904
|
+
4,
|
|
5905
|
+
resp.text()
|
|
5906
|
+
];
|
|
5907
|
+
case 13:
|
|
5908
|
+
text = _state.sent();
|
|
5909
|
+
return [
|
|
5910
|
+
2,
|
|
5911
|
+
parseRSSXml(text, maxItems)
|
|
5823
5912
|
];
|
|
5824
5913
|
}
|
|
5825
5914
|
});
|
|
@@ -5831,18 +5920,28 @@ function ScrollerOverlay(param) {
|
|
|
5831
5920
|
var cfg = overlay.scroller_config;
|
|
5832
5921
|
var uid = useId().replace(/:/g, "");
|
|
5833
5922
|
var _useState = _sliced_to_array(useState([]), 2), rssItems = _useState[0], setRssItems = _useState[1];
|
|
5834
|
-
var _useState1 = _sliced_to_array(useState(
|
|
5923
|
+
var _useState1 = _sliced_to_array(useState(true), 2), rssLoading = _useState1[0], setRssLoading = _useState1[1];
|
|
5924
|
+
var _useState2 = _sliced_to_array(useState(false), 2), rssError = _useState2[0], setRssError = _useState2[1];
|
|
5835
5925
|
var rssUrl = (cfg === null || cfg === void 0 ? void 0 : cfg.rss_url) || "";
|
|
5836
5926
|
var maxItems = (_ref = cfg === null || cfg === void 0 ? void 0 : cfg.max_items) !== null && _ref !== void 0 ? _ref : 10;
|
|
5837
5927
|
var autoRefresh = (cfg === null || cfg === void 0 ? void 0 : cfg.auto_refresh) !== false;
|
|
5838
5928
|
var updateInterval = (_ref1 = cfg === null || cfg === void 0 ? void 0 : cfg.update_interval) !== null && _ref1 !== void 0 ? _ref1 : 5;
|
|
5839
5929
|
useEffect(function() {
|
|
5840
|
-
if (!rssUrl || (cfg === null || cfg === void 0 ? void 0 : cfg.use_custom_text) && (cfg === null || cfg === void 0 ? void 0 : cfg.custom_text))
|
|
5930
|
+
if (!rssUrl || (cfg === null || cfg === void 0 ? void 0 : cfg.use_custom_text) && (cfg === null || cfg === void 0 ? void 0 : cfg.custom_text)) {
|
|
5931
|
+
setRssLoading(false);
|
|
5932
|
+
return;
|
|
5933
|
+
}
|
|
5841
5934
|
var cancelled = false;
|
|
5842
5935
|
setRssLoading(true);
|
|
5936
|
+
setRssError(false);
|
|
5843
5937
|
fetchRSSItems(rssUrl, maxItems).then(function(items) {
|
|
5844
|
-
if (!cancelled)
|
|
5845
|
-
|
|
5938
|
+
if (!cancelled) {
|
|
5939
|
+
setRssItems(items);
|
|
5940
|
+
setRssError(false);
|
|
5941
|
+
}
|
|
5942
|
+
}).catch(function() {
|
|
5943
|
+
if (!cancelled) setRssError(true);
|
|
5944
|
+
}).finally(function() {
|
|
5846
5945
|
if (!cancelled) setRssLoading(false);
|
|
5847
5946
|
});
|
|
5848
5947
|
return function() {
|
|
@@ -5857,7 +5956,10 @@ function ScrollerOverlay(param) {
|
|
|
5857
5956
|
useEffect(function() {
|
|
5858
5957
|
if (!rssUrl || !autoRefresh || (cfg === null || cfg === void 0 ? void 0 : cfg.use_custom_text) && (cfg === null || cfg === void 0 ? void 0 : cfg.custom_text)) return;
|
|
5859
5958
|
var interval = setInterval(function() {
|
|
5860
|
-
fetchRSSItems(rssUrl, maxItems).then(
|
|
5959
|
+
fetchRSSItems(rssUrl, maxItems).then(function(items) {
|
|
5960
|
+
setRssItems(items);
|
|
5961
|
+
setRssError(false);
|
|
5962
|
+
}).catch(function() {});
|
|
5861
5963
|
}, updateInterval * 60 * 1e3);
|
|
5862
5964
|
return function() {
|
|
5863
5965
|
return clearInterval(interval);
|
|
@@ -5894,13 +5996,19 @@ function ScrollerOverlay(param) {
|
|
|
5894
5996
|
segments = [
|
|
5895
5997
|
"Loading feed\u2026"
|
|
5896
5998
|
];
|
|
5999
|
+
} else if (rssError) {
|
|
6000
|
+
segments = overlay.content ? [
|
|
6001
|
+
overlay.content
|
|
6002
|
+
] : [
|
|
6003
|
+
"RSS feed unavailable"
|
|
6004
|
+
];
|
|
5897
6005
|
} else if (overlay.content) {
|
|
5898
6006
|
segments = [
|
|
5899
6007
|
overlay.content
|
|
5900
6008
|
];
|
|
5901
6009
|
} else {
|
|
5902
6010
|
segments = rssUrl ? [
|
|
5903
|
-
"
|
|
6011
|
+
"Loading feed\u2026"
|
|
5904
6012
|
] : [
|
|
5905
6013
|
"RSS Ticker"
|
|
5906
6014
|
];
|
|
@@ -7327,6 +7435,7 @@ var StormcloudVideoPlayerComponent = React2.memo(function(props) {
|
|
|
7327
7435
|
var wrapperRef = useRef2(null);
|
|
7328
7436
|
var _React2_useState = _sliced_to_array(React2.useState({
|
|
7329
7437
|
showAds: false,
|
|
7438
|
+
inAdBreak: false,
|
|
7330
7439
|
currentIndex: 0,
|
|
7331
7440
|
totalAds: 0,
|
|
7332
7441
|
remainingSeconds: 0
|
|
@@ -7687,20 +7796,23 @@ var StormcloudVideoPlayerComponent = React2.memo(function(props) {
|
|
|
7687
7796
|
if (!playerRef.current) return;
|
|
7688
7797
|
var checkAdStatus = function checkAdStatus() {
|
|
7689
7798
|
if (playerRef.current) {
|
|
7690
|
-
var
|
|
7799
|
+
var _ref;
|
|
7800
|
+
var _videoRef_current_dataset, _videoRef_current, _playerRef_current_isInAdBreak, _playerRef_current;
|
|
7691
7801
|
var showAdsFromMethod = playerRef.current.isShowingAds();
|
|
7692
7802
|
var showAdsFromAttribute = ((_videoRef_current = videoRef.current) === null || _videoRef_current === void 0 ? void 0 : (_videoRef_current_dataset = _videoRef_current.dataset) === null || _videoRef_current_dataset === void 0 ? void 0 : _videoRef_current_dataset.stormcloudAdPlaying) === "true";
|
|
7693
7803
|
var showAds = showAdsFromMethod || showAdsFromAttribute;
|
|
7804
|
+
var inAdBreak = (_ref = (_playerRef_current_isInAdBreak = (_playerRef_current = playerRef.current).isInAdBreak) === null || _playerRef_current_isInAdBreak === void 0 ? void 0 : _playerRef_current_isInAdBreak.call(_playerRef_current)) !== null && _ref !== void 0 ? _ref : showAds;
|
|
7694
7805
|
var currentIndex = playerRef.current.getCurrentAdIndex();
|
|
7695
7806
|
var totalAds = playerRef.current.getTotalAdsInBreak();
|
|
7696
7807
|
var remainingSeconds = playerRef.current.getRemainingAdSeconds();
|
|
7697
7808
|
setAdStatus(function(prev) {
|
|
7698
|
-
if (prev.showAds !== showAds || prev.currentIndex !== currentIndex || prev.totalAds !== totalAds || prev.remainingSeconds !== remainingSeconds) {
|
|
7809
|
+
if (prev.showAds !== showAds || prev.inAdBreak !== inAdBreak || prev.currentIndex !== currentIndex || prev.totalAds !== totalAds || prev.remainingSeconds !== remainingSeconds) {
|
|
7699
7810
|
if (showAds && !prev.showAds) {
|
|
7700
7811
|
setShowCenterPlay(false);
|
|
7701
7812
|
}
|
|
7702
7813
|
return {
|
|
7703
7814
|
showAds: showAds,
|
|
7815
|
+
inAdBreak: inAdBreak,
|
|
7704
7816
|
currentIndex: currentIndex,
|
|
7705
7817
|
totalAds: totalAds,
|
|
7706
7818
|
remainingSeconds: remainingSeconds
|
|
@@ -8354,7 +8466,7 @@ var StormcloudVideoPlayerComponent = React2.memo(function(props) {
|
|
|
8354
8466
|
})
|
|
8355
8467
|
]
|
|
8356
8468
|
}),
|
|
8357
|
-
/* @__PURE__ */
|
|
8469
|
+
/* @__PURE__ */ jsx2("div", {
|
|
8358
8470
|
className: "sc-ai-scroll",
|
|
8359
8471
|
style: {
|
|
8360
8472
|
padding: "12px",
|
|
@@ -8364,68 +8476,118 @@ var StormcloudVideoPlayerComponent = React2.memo(function(props) {
|
|
|
8364
8476
|
display: "grid",
|
|
8365
8477
|
gap: "12px"
|
|
8366
8478
|
},
|
|
8367
|
-
children:
|
|
8368
|
-
|
|
8369
|
-
|
|
8370
|
-
|
|
8371
|
-
|
|
8372
|
-
|
|
8373
|
-
|
|
8374
|
-
|
|
8375
|
-
|
|
8376
|
-
|
|
8377
|
-
|
|
8378
|
-
|
|
8379
|
-
|
|
8380
|
-
|
|
8381
|
-
|
|
8382
|
-
|
|
8383
|
-
|
|
8384
|
-
|
|
8385
|
-
|
|
8386
|
-
|
|
8387
|
-
|
|
8388
|
-
|
|
8389
|
-
|
|
8390
|
-
|
|
8391
|
-
|
|
8392
|
-
|
|
8393
|
-
|
|
8394
|
-
|
|
8395
|
-
|
|
8396
|
-
|
|
8397
|
-
|
|
8398
|
-
|
|
8399
|
-
|
|
8400
|
-
|
|
8401
|
-
|
|
8402
|
-
|
|
8403
|
-
|
|
8404
|
-
|
|
8405
|
-
|
|
8406
|
-
|
|
8407
|
-
|
|
8408
|
-
|
|
8409
|
-
|
|
8410
|
-
|
|
8411
|
-
|
|
8412
|
-
|
|
8413
|
-
|
|
8414
|
-
|
|
8415
|
-
|
|
8416
|
-
|
|
8417
|
-
|
|
8418
|
-
|
|
8419
|
-
|
|
8420
|
-
|
|
8421
|
-
|
|
8422
|
-
|
|
8423
|
-
|
|
8424
|
-
|
|
8425
|
-
}
|
|
8426
|
-
|
|
8427
|
-
|
|
8428
|
-
|
|
8479
|
+
children: adStatus.inAdBreak ? /* @__PURE__ */ jsxs2("div", {
|
|
8480
|
+
style: {
|
|
8481
|
+
display: "flex",
|
|
8482
|
+
flexDirection: "column",
|
|
8483
|
+
alignItems: "center",
|
|
8484
|
+
justifyContent: "center",
|
|
8485
|
+
gap: "12px",
|
|
8486
|
+
padding: "24px 12px",
|
|
8487
|
+
borderRadius: "10px",
|
|
8488
|
+
border: "1px solid rgba(234, 179, 8, 0.5)",
|
|
8489
|
+
background: "linear-gradient(155deg, rgba(92, 64, 0, 0.45) 0%, rgba(17, 24, 39, 0.62) 100%)",
|
|
8490
|
+
boxShadow: "0 8px 24px rgba(234, 179, 8, 0.12)"
|
|
8491
|
+
},
|
|
8492
|
+
children: [
|
|
8493
|
+
/* @__PURE__ */ jsx2("div", {
|
|
8494
|
+
style: {
|
|
8495
|
+
width: "36px",
|
|
8496
|
+
height: "36px",
|
|
8497
|
+
borderRadius: "50%",
|
|
8498
|
+
background: "rgba(234, 179, 8, 0.18)",
|
|
8499
|
+
border: "2px solid rgba(234, 179, 8, 0.7)",
|
|
8500
|
+
display: "flex",
|
|
8501
|
+
alignItems: "center",
|
|
8502
|
+
justifyContent: "center",
|
|
8503
|
+
fontSize: "16px"
|
|
8504
|
+
},
|
|
8505
|
+
children: "\uD83D\uDCFA"
|
|
8506
|
+
}),
|
|
8507
|
+
/* @__PURE__ */ jsx2("div", {
|
|
8508
|
+
style: {
|
|
8509
|
+
fontSize: "13px",
|
|
8510
|
+
fontWeight: 700,
|
|
8511
|
+
color: "#fde68a",
|
|
8512
|
+
letterSpacing: "0.04em",
|
|
8513
|
+
textAlign: "center"
|
|
8514
|
+
},
|
|
8515
|
+
children: "Now Ad Playing"
|
|
8516
|
+
}),
|
|
8517
|
+
/* @__PURE__ */ jsx2("div", {
|
|
8518
|
+
style: {
|
|
8519
|
+
fontSize: "11px",
|
|
8520
|
+
color: "rgba(255,255,255,0.55)",
|
|
8521
|
+
textAlign: "center",
|
|
8522
|
+
lineHeight: "1.5"
|
|
8523
|
+
},
|
|
8524
|
+
children: "AI context will resume after the ad break."
|
|
8525
|
+
})
|
|
8526
|
+
]
|
|
8527
|
+
}) : /* @__PURE__ */ jsxs2(Fragment2, {
|
|
8528
|
+
children: [
|
|
8529
|
+
aiLiveContext.error && /* @__PURE__ */ jsx2("div", {
|
|
8530
|
+
style: {
|
|
8531
|
+
fontSize: "12px",
|
|
8532
|
+
color: "#fecaca",
|
|
8533
|
+
background: "rgba(220, 38, 38, 0.2)",
|
|
8534
|
+
border: "1px solid rgba(248, 113, 113, 0.5)",
|
|
8535
|
+
borderRadius: "10px",
|
|
8536
|
+
padding: "9px 10px"
|
|
8537
|
+
},
|
|
8538
|
+
children: aiLiveContext.error
|
|
8539
|
+
}),
|
|
8540
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
8541
|
+
style: {
|
|
8542
|
+
padding: "11px 12px",
|
|
8543
|
+
borderRadius: "10px",
|
|
8544
|
+
border: "1px solid rgba(236, 72, 153, 0.5)",
|
|
8545
|
+
background: "linear-gradient(155deg, rgba(88, 28, 135, 0.35) 0%, rgba(17, 24, 39, 0.62) 100%)",
|
|
8546
|
+
boxShadow: "0 8px 24px rgba(236, 72, 153, 0.12)"
|
|
8547
|
+
},
|
|
8548
|
+
children: [
|
|
8549
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
8550
|
+
style: {
|
|
8551
|
+
display: "flex",
|
|
8552
|
+
alignItems: "center",
|
|
8553
|
+
justifyContent: "space-between",
|
|
8554
|
+
gap: "8px",
|
|
8555
|
+
marginBottom: "7px"
|
|
8556
|
+
},
|
|
8557
|
+
children: [
|
|
8558
|
+
/* @__PURE__ */ jsx2("div", {
|
|
8559
|
+
style: {
|
|
8560
|
+
fontSize: "11px",
|
|
8561
|
+
fontWeight: 800,
|
|
8562
|
+
textTransform: "uppercase",
|
|
8563
|
+
letterSpacing: "0.1em",
|
|
8564
|
+
color: "#f9a8d4"
|
|
8565
|
+
},
|
|
8566
|
+
children: "AI Context"
|
|
8567
|
+
}),
|
|
8568
|
+
/* @__PURE__ */ jsx2("div", {
|
|
8569
|
+
style: {
|
|
8570
|
+
fontSize: "10px",
|
|
8571
|
+
color: "rgba(255,255,255,0.72)",
|
|
8572
|
+
fontFamily: "'SF Mono', 'Cascadia Code', monospace"
|
|
8573
|
+
},
|
|
8574
|
+
children: aiLiveContext.context ? formatAiRelativeTime(aiLiveContext.context.updated_at) : "--"
|
|
8575
|
+
})
|
|
8576
|
+
]
|
|
8577
|
+
}),
|
|
8578
|
+
/* @__PURE__ */ jsx2("div", {
|
|
8579
|
+
style: {
|
|
8580
|
+
fontSize: "13px",
|
|
8581
|
+
lineHeight: "1.58",
|
|
8582
|
+
color: "rgba(255,255,255,0.95)",
|
|
8583
|
+
whiteSpace: "pre-wrap"
|
|
8584
|
+
},
|
|
8585
|
+
children: (_ref = (_aiLiveContext_context = aiLiveContext.context) === null || _aiLiveContext_context === void 0 ? void 0 : _aiLiveContext_context.context) !== null && _ref !== void 0 ? _ref : aiLiveContext.isLoading ? "Analyzing live stream..." : "Waiting for AI context response."
|
|
8586
|
+
})
|
|
8587
|
+
]
|
|
8588
|
+
})
|
|
8589
|
+
]
|
|
8590
|
+
})
|
|
8429
8591
|
})
|
|
8430
8592
|
]
|
|
8431
8593
|
}),
|