unified-video-framework 1.4.441 → 1.4.443
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 +1 -1
- package/packages/core/dist/version.d.ts +1 -1
- package/packages/core/dist/version.js +1 -1
- package/packages/core/src/version.ts +1 -1
- package/packages/web/dist/WebPlayer.d.ts.map +1 -1
- package/packages/web/dist/WebPlayer.js +194 -78
- package/packages/web/dist/WebPlayer.js.map +1 -1
- package/packages/web/src/WebPlayer.ts +209 -85
|
@@ -2902,25 +2902,39 @@ export class WebPlayer extends BasePlayer {
|
|
|
2902
2902
|
font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
|
|
2903
2903
|
z-index: 100;
|
|
2904
2904
|
pointer-events: none;
|
|
2905
|
+
filter: drop-shadow(0 10px 15px rgba(0,0,0,0.5));
|
|
2905
2906
|
`;
|
|
2906
2907
|
|
|
2907
2908
|
// 1. Globe Block (Left)
|
|
2908
2909
|
const globeBlock = document.createElement('div');
|
|
2909
2910
|
globeBlock.style.cssText = `
|
|
2910
|
-
width: ${height}px;
|
|
2911
|
+
width: ${height * 1.3}px;
|
|
2911
2912
|
height: ${height}px;
|
|
2912
|
-
background: linear-gradient(135deg, #
|
|
2913
|
+
background: linear-gradient(135deg, #e74c3c 0%, #c0392b 50%, #962d22 100%);
|
|
2913
2914
|
display: flex;
|
|
2914
2915
|
align-items: center;
|
|
2915
2916
|
justify-content: center;
|
|
2916
2917
|
flex-shrink: 0;
|
|
2917
|
-
clip-path: polygon(0 0
|
|
2918
|
-
z-index:
|
|
2919
|
-
|
|
2918
|
+
clip-path: polygon(0% 0%, 78% 0%, 100% 100%, 0% 100%);
|
|
2919
|
+
z-index: 30;
|
|
2920
|
+
position: relative;
|
|
2921
|
+
overflow: hidden;
|
|
2922
|
+
`;
|
|
2923
|
+
|
|
2924
|
+
// Glossy Overlay for Globe Block
|
|
2925
|
+
const glossyGlobe = document.createElement('div');
|
|
2926
|
+
glossyGlobe.style.cssText = `
|
|
2927
|
+
position: absolute;
|
|
2928
|
+
top: 0; left: 0; right: 0; height: 40%;
|
|
2929
|
+
background: linear-gradient(180deg, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0) 100%);
|
|
2930
|
+
pointer-events: none;
|
|
2920
2931
|
`;
|
|
2932
|
+
globeBlock.appendChild(glossyGlobe);
|
|
2933
|
+
|
|
2921
2934
|
const globe = this.createGlobeElement(true);
|
|
2922
|
-
globe.style.width = '
|
|
2923
|
-
globe.style.height = '
|
|
2935
|
+
globe.style.width = '42%';
|
|
2936
|
+
globe.style.height = '42%';
|
|
2937
|
+
globe.style.marginRight = '18%';
|
|
2924
2938
|
globeBlock.appendChild(globe);
|
|
2925
2939
|
ticker.appendChild(globeBlock);
|
|
2926
2940
|
|
|
@@ -2930,40 +2944,56 @@ export class WebPlayer extends BasePlayer {
|
|
|
2930
2944
|
flex-grow: 1;
|
|
2931
2945
|
display: flex;
|
|
2932
2946
|
flex-direction: column;
|
|
2933
|
-
margin-left: -${height * 0.
|
|
2947
|
+
margin-left: -${height * 0.35}px;
|
|
2948
|
+
z-index: 10;
|
|
2934
2949
|
`;
|
|
2935
2950
|
|
|
2936
2951
|
// Row 1: Top Blue Bar (Headline)
|
|
2937
2952
|
const topBar = document.createElement('div');
|
|
2938
2953
|
topBar.style.cssText = `
|
|
2939
|
-
height:
|
|
2940
|
-
background: linear-gradient(90deg, #1e3c72 0%, #2a5298 100%);
|
|
2941
|
-
clip-path: polygon(
|
|
2954
|
+
height: 55%;
|
|
2955
|
+
background: linear-gradient(90deg, #1e3c72 0%, #2a5298 50%, #1e3c72 100%);
|
|
2956
|
+
clip-path: polygon(4% 0, 100% 0, 98.5% 100%, 0% 100%);
|
|
2942
2957
|
display: flex;
|
|
2943
2958
|
align-items: center;
|
|
2944
|
-
padding: 0 40px;
|
|
2959
|
+
padding: 0 40px 0 65px;
|
|
2945
2960
|
color: white;
|
|
2961
|
+
position: relative;
|
|
2962
|
+
overflow: hidden;
|
|
2963
|
+
border-bottom: 2px solid rgba(255,255,255,0.15);
|
|
2946
2964
|
`;
|
|
2947
2965
|
|
|
2966
|
+
const glossyTop = document.createElement('div');
|
|
2967
|
+
glossyTop.style.cssText = `
|
|
2968
|
+
position: absolute;
|
|
2969
|
+
top: 0; left: 0; right: 0; height: 35%;
|
|
2970
|
+
background: linear-gradient(180deg, rgba(255,255,255,0.15) 0%, rgba(255,255,255,0) 100%);
|
|
2971
|
+
`;
|
|
2972
|
+
topBar.appendChild(glossyTop);
|
|
2973
|
+
|
|
2948
2974
|
const breakingText = document.createElement('span');
|
|
2949
2975
|
breakingText.textContent = 'BREAKING NEWS';
|
|
2950
2976
|
breakingText.style.cssText = `
|
|
2951
2977
|
font-weight: 900;
|
|
2952
2978
|
font-style: italic;
|
|
2953
|
-
font-size: ${height * 0.
|
|
2954
|
-
margin-right:
|
|
2955
|
-
|
|
2979
|
+
font-size: ${height * 0.2}px;
|
|
2980
|
+
margin-right: 25px;
|
|
2981
|
+
white-space: nowrap;
|
|
2982
|
+
color: #fff;
|
|
2983
|
+
text-shadow: 0 0 12px rgba(255,255,255,0.6);
|
|
2984
|
+
letter-spacing: 0.5px;
|
|
2956
2985
|
`;
|
|
2957
2986
|
topBar.appendChild(breakingText);
|
|
2958
2987
|
|
|
2959
2988
|
const headlineText = document.createElement('span');
|
|
2960
2989
|
headlineText.textContent = config.headline || 'LOREM IPSUM DOLOR SIT AMET, CONSECTETUER';
|
|
2961
2990
|
headlineText.style.cssText = `
|
|
2962
|
-
font-weight:
|
|
2963
|
-
font-size: ${height * 0.
|
|
2991
|
+
font-weight: 800;
|
|
2992
|
+
font-size: ${height * 0.26}px;
|
|
2964
2993
|
white-space: nowrap;
|
|
2965
2994
|
overflow: hidden;
|
|
2966
2995
|
text-overflow: ellipsis;
|
|
2996
|
+
text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
|
|
2967
2997
|
`;
|
|
2968
2998
|
topBar.appendChild(headlineText);
|
|
2969
2999
|
content.appendChild(topBar);
|
|
@@ -2971,33 +3001,35 @@ export class WebPlayer extends BasePlayer {
|
|
|
2971
3001
|
// Row 2: Bottom Black Bar (Scrolling Items)
|
|
2972
3002
|
const bottomBar = document.createElement('div');
|
|
2973
3003
|
bottomBar.style.cssText = `
|
|
2974
|
-
height:
|
|
2975
|
-
background: #
|
|
3004
|
+
height: 45%;
|
|
3005
|
+
background: linear-gradient(90deg, #0a0a0a 0%, #1a1a1a 50%, #0a0a0a 100%);
|
|
2976
3006
|
display: flex;
|
|
2977
3007
|
align-items: center;
|
|
2978
|
-
clip-path: polygon(1% 0, 100% 0, 100% 100%, 0% 100%);
|
|
3008
|
+
clip-path: polygon(1.5% 0, 100% 0, 100% 100%, 0% 100%);
|
|
3009
|
+
border-top: 1px solid rgba(255,255,255,0.08);
|
|
2979
3010
|
`;
|
|
2980
3011
|
|
|
2981
|
-
// LIVE badge
|
|
2982
3012
|
const liveBadge = document.createElement('div');
|
|
2983
3013
|
liveBadge.textContent = 'LIVE';
|
|
2984
3014
|
liveBadge.style.cssText = `
|
|
2985
|
-
background: #f1c40f;
|
|
2986
|
-
color:
|
|
3015
|
+
background: linear-gradient(180deg, #f1c40f 0%, #d4ac0d 100%);
|
|
3016
|
+
color: #000;
|
|
2987
3017
|
font-weight: 900;
|
|
2988
|
-
font-size: ${height * 0.
|
|
2989
|
-
padding: 2px
|
|
2990
|
-
margin-left:
|
|
2991
|
-
clip-path: polygon(0 0,
|
|
3018
|
+
font-size: ${height * 0.16}px;
|
|
3019
|
+
padding: 2px 14px;
|
|
3020
|
+
margin-left: 55px;
|
|
3021
|
+
clip-path: polygon(0 0, 88% 0, 100% 100%, 0 100%);
|
|
3022
|
+
box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
|
|
2992
3023
|
`;
|
|
2993
3024
|
bottomBar.appendChild(liveBadge);
|
|
2994
3025
|
|
|
2995
|
-
// Scrolling track
|
|
2996
3026
|
const trackContainer = document.createElement('div');
|
|
2997
3027
|
trackContainer.style.cssText = `flex-grow: 1; overflow: hidden; height: 100%; display: flex; align-items: center;`;
|
|
2998
|
-
|
|
2999
3028
|
const track = this.createSeamlessScrollingTrack(config.items || [], config);
|
|
3000
3029
|
track.style.fontSize = `${height * 0.18}px`;
|
|
3030
|
+
track.style.color = '#fff';
|
|
3031
|
+
track.style.fontWeight = '700';
|
|
3032
|
+
track.style.textShadow = '1px 1px 2px rgba(0,0,0,0.8)';
|
|
3001
3033
|
trackContainer.appendChild(track);
|
|
3002
3034
|
bottomBar.appendChild(trackContainer);
|
|
3003
3035
|
|
|
@@ -3014,106 +3046,151 @@ export class WebPlayer extends BasePlayer {
|
|
|
3014
3046
|
|
|
3015
3047
|
const height = config.height || 75;
|
|
3016
3048
|
const bottomOffset = config.bottomOffset || 0;
|
|
3017
|
-
const topOffset = config.topOffset || 10;
|
|
3018
3049
|
|
|
3019
3050
|
ticker.style.cssText = `
|
|
3020
3051
|
position: absolute;
|
|
3021
3052
|
left: 5%;
|
|
3022
3053
|
right: 5%;
|
|
3054
|
+
bottom: ${bottomOffset}px;
|
|
3023
3055
|
height: ${height}px;
|
|
3024
|
-
${position === 'top' ? `top: ${topOffset}px;` : `bottom: ${bottomOffset}px;`}
|
|
3025
3056
|
display: flex;
|
|
3026
3057
|
align-items: flex-end;
|
|
3027
3058
|
font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
|
|
3028
3059
|
z-index: 100;
|
|
3029
3060
|
pointer-events: none;
|
|
3061
|
+
filter: drop-shadow(0 8px 12px rgba(0,0,0,0.4));
|
|
3030
3062
|
`;
|
|
3031
3063
|
|
|
3032
|
-
// Globe
|
|
3033
|
-
const
|
|
3034
|
-
|
|
3064
|
+
// Globe Wrapper
|
|
3065
|
+
const globeWrapper = document.createElement('div');
|
|
3066
|
+
globeWrapper.style.cssText = `
|
|
3035
3067
|
width: ${height * 0.8}px;
|
|
3036
3068
|
height: ${height * 0.8}px;
|
|
3037
|
-
|
|
3069
|
+
position: relative;
|
|
3070
|
+
z-index: 40;
|
|
3071
|
+
margin-right: 12px;
|
|
3072
|
+
flex-shrink: 0;
|
|
3073
|
+
`;
|
|
3074
|
+
|
|
3075
|
+
const globeContainer = document.createElement('div');
|
|
3076
|
+
globeContainer.style.cssText = `
|
|
3077
|
+
width: 100%;
|
|
3078
|
+
height: 100%;
|
|
3079
|
+
background: radial-gradient(circle at 30% 30%, #e74c3c 0%, #c1392b 60%, #962d22 100%);
|
|
3038
3080
|
border-radius: 50%;
|
|
3039
3081
|
display: flex;
|
|
3040
3082
|
align-items: center;
|
|
3041
3083
|
justify-content: center;
|
|
3042
|
-
|
|
3043
|
-
|
|
3044
|
-
|
|
3084
|
+
box-shadow: inset -5px -5px 15px rgba(0,0,0,0.5), 0 0 25px rgba(0,0,0,0.6);
|
|
3085
|
+
border: 3px solid #fff;
|
|
3086
|
+
overflow: hidden;
|
|
3087
|
+
`;
|
|
3088
|
+
|
|
3089
|
+
const glossyGlobeEffect = document.createElement('div');
|
|
3090
|
+
glossyGlobeEffect.style.cssText = `
|
|
3091
|
+
position: absolute;
|
|
3092
|
+
top: 10%; left: 15%; width: 40%; height: 30%;
|
|
3093
|
+
background: rgba(255,255,255,0.3);
|
|
3094
|
+
border-radius: 50%;
|
|
3095
|
+
filter: blur(4px);
|
|
3096
|
+
pointer-events: none;
|
|
3045
3097
|
`;
|
|
3098
|
+
globeContainer.appendChild(glossyGlobeEffect);
|
|
3099
|
+
|
|
3046
3100
|
const globe = this.createGlobeElement(true);
|
|
3047
|
-
globe.style.width = '
|
|
3048
|
-
globe.style.height = '
|
|
3101
|
+
globe.style.width = '75%';
|
|
3102
|
+
globe.style.height = '75%';
|
|
3049
3103
|
globeContainer.appendChild(globe);
|
|
3050
|
-
|
|
3104
|
+
globeWrapper.appendChild(globeContainer);
|
|
3105
|
+
ticker.appendChild(globeWrapper);
|
|
3051
3106
|
|
|
3052
3107
|
const content = document.createElement('div');
|
|
3053
|
-
content.style.cssText = `flex-grow: 1; display: flex; flex-direction: column;`;
|
|
3108
|
+
content.style.cssText = `flex-grow: 1; display: flex; flex-direction: column; z-index: 20;`;
|
|
3054
3109
|
|
|
3055
3110
|
// Row 1: Yellow/Red Header
|
|
3056
3111
|
const row1 = document.createElement('div');
|
|
3057
|
-
row1.style.cssText = `display: flex; height: 50
|
|
3112
|
+
row1.style.cssText = `display: flex; height: 50%; position: relative; overflow: hidden;`;
|
|
3058
3113
|
|
|
3059
3114
|
const badge = document.createElement('div');
|
|
3060
3115
|
badge.textContent = 'BREAKING NEWS';
|
|
3061
3116
|
badge.style.cssText = `
|
|
3062
|
-
background: #f1c40f;
|
|
3063
|
-
color:
|
|
3117
|
+
background: linear-gradient(180deg, #f1c40f 0%, #d4ac0d 100%);
|
|
3118
|
+
color: #000;
|
|
3064
3119
|
font-weight: 900;
|
|
3065
|
-
padding: 0
|
|
3120
|
+
padding: 0 30px;
|
|
3066
3121
|
display: flex;
|
|
3067
3122
|
align-items: center;
|
|
3068
|
-
clip-path: polygon(0 0,
|
|
3069
|
-
font-size: ${height * 0.
|
|
3123
|
+
clip-path: polygon(0 0, 88% 0, 100% 100%, 0 100%);
|
|
3124
|
+
font-size: ${height * 0.2}px;
|
|
3125
|
+
position: relative;
|
|
3126
|
+
z-index: 5;
|
|
3127
|
+
text-shadow: 0 1px 1px rgba(255,255,255,0.3);
|
|
3070
3128
|
`;
|
|
3071
3129
|
row1.appendChild(badge);
|
|
3072
3130
|
|
|
3073
3131
|
const headline = document.createElement('div');
|
|
3074
3132
|
headline.textContent = config.headline || 'LOREM IPSUM DOLOR SIT AMET, CONSECTETUER';
|
|
3075
3133
|
headline.style.cssText = `
|
|
3076
|
-
background: #e74c3c;
|
|
3134
|
+
background: linear-gradient(90deg, #e74c3c 0%, #c1392b 50%, #e74c3c 100%);
|
|
3077
3135
|
color: white;
|
|
3078
|
-
font-weight:
|
|
3079
|
-
padding: 0
|
|
3136
|
+
font-weight: 800;
|
|
3137
|
+
padding: 0 45px;
|
|
3080
3138
|
display: flex;
|
|
3081
3139
|
align-items: center;
|
|
3082
3140
|
flex-grow: 1;
|
|
3083
|
-
margin-left: -
|
|
3084
|
-
clip-path: polygon(
|
|
3085
|
-
font-size: ${height * 0.
|
|
3141
|
+
margin-left: -25px;
|
|
3142
|
+
clip-path: polygon(5% 0, 100% 0, 96% 100%, 0 100%);
|
|
3143
|
+
font-size: ${height * 0.23}px;
|
|
3144
|
+
text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
|
|
3145
|
+
border-bottom: 3px solid rgba(255,255,255,0.15);
|
|
3146
|
+
`;
|
|
3147
|
+
|
|
3148
|
+
const glossyHeader = document.createElement('div');
|
|
3149
|
+
glossyHeader.style.cssText = `
|
|
3150
|
+
position: absolute;
|
|
3151
|
+
top: 0; left: 0; right: 0; height: 40%;
|
|
3152
|
+
background: linear-gradient(180deg, rgba(255,255,255,0.15) 0%, rgba(255,255,255,0) 100%);
|
|
3086
3153
|
`;
|
|
3154
|
+
headline.appendChild(glossyHeader);
|
|
3155
|
+
|
|
3087
3156
|
row1.appendChild(headline);
|
|
3088
3157
|
content.appendChild(row1);
|
|
3089
3158
|
|
|
3090
|
-
// Row 2: Blue Ticker
|
|
3159
|
+
// Row 2: Blue Ticker (Semi-transparent with Pro Blur)
|
|
3091
3160
|
const row2 = document.createElement('div');
|
|
3092
3161
|
row2.style.cssText = `
|
|
3093
|
-
height:
|
|
3094
|
-
background:
|
|
3162
|
+
height: 42%;
|
|
3163
|
+
background: rgba(30, 60, 114, 0.85);
|
|
3095
3164
|
display: flex;
|
|
3096
3165
|
align-items: center;
|
|
3097
|
-
margin-top:
|
|
3098
|
-
clip-path: polygon(
|
|
3166
|
+
margin-top: 5px;
|
|
3167
|
+
clip-path: polygon(1.5% 0, 100% 0, 100% 100%, 2.5% 100%);
|
|
3168
|
+
backdrop-filter: blur(12px);
|
|
3169
|
+
border: 1px solid rgba(255,255,255,0.1);
|
|
3170
|
+
box-shadow: inset 0 0 10px rgba(0,0,0,0.3);
|
|
3099
3171
|
`;
|
|
3100
3172
|
|
|
3101
3173
|
const live = document.createElement('div');
|
|
3102
3174
|
live.textContent = 'LIVE';
|
|
3103
3175
|
live.style.cssText = `
|
|
3104
|
-
background:
|
|
3105
|
-
color: #
|
|
3106
|
-
font-weight:
|
|
3107
|
-
padding:
|
|
3108
|
-
margin:
|
|
3109
|
-
|
|
3176
|
+
background: #fff;
|
|
3177
|
+
color: #1e3c72;
|
|
3178
|
+
font-weight: 950;
|
|
3179
|
+
padding: 2px 18px;
|
|
3180
|
+
margin-left: 35px;
|
|
3181
|
+
margin-right: 20px;
|
|
3182
|
+
font-size: ${height * 0.16}px;
|
|
3183
|
+
box-shadow: 2px 2px 8px rgba(0,0,0,0.3);
|
|
3184
|
+
letter-spacing: 1px;
|
|
3110
3185
|
`;
|
|
3111
3186
|
row2.appendChild(live);
|
|
3112
3187
|
|
|
3113
3188
|
const trackCont = document.createElement('div');
|
|
3114
3189
|
trackCont.style.cssText = `flex-grow: 1; overflow: hidden; height: 100%; display: flex; align-items: center; color: white;`;
|
|
3115
3190
|
const track = this.createSeamlessScrollingTrack(config.items || [], config);
|
|
3116
|
-
track.style.fontSize = `${height * 0.
|
|
3191
|
+
track.style.fontSize = `${height * 0.17}px`;
|
|
3192
|
+
track.style.fontWeight = '700';
|
|
3193
|
+
track.style.textShadow = '1px 1px 3px rgba(0,0,0,0.9)';
|
|
3117
3194
|
trackCont.appendChild(track);
|
|
3118
3195
|
row2.appendChild(trackCont);
|
|
3119
3196
|
content.appendChild(row2);
|
|
@@ -3221,74 +3298,121 @@ export class WebPlayer extends BasePlayer {
|
|
|
3221
3298
|
|
|
3222
3299
|
const height = config.height || 65;
|
|
3223
3300
|
const bottomOffset = config.bottomOffset || 0;
|
|
3224
|
-
const topOffset = config.topOffset || 10;
|
|
3225
3301
|
|
|
3226
3302
|
ticker.style.cssText = `
|
|
3227
3303
|
position: absolute;
|
|
3228
3304
|
left: 15%;
|
|
3229
3305
|
right: 15%;
|
|
3306
|
+
bottom: ${bottomOffset}px;
|
|
3230
3307
|
height: ${height}px;
|
|
3231
|
-
${position === 'top' ? `top: ${topOffset}px;` : `bottom: ${bottomOffset}px;`}
|
|
3232
3308
|
display: flex;
|
|
3233
3309
|
align-items: flex-end;
|
|
3234
3310
|
font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
|
|
3235
3311
|
z-index: 100;
|
|
3236
3312
|
pointer-events: none;
|
|
3313
|
+
filter: drop-shadow(0 12px 20px rgba(0,0,0,0.6));
|
|
3237
3314
|
`;
|
|
3238
3315
|
|
|
3239
|
-
// Large Blue Box
|
|
3316
|
+
// Large Blue Box (Pro Upgrade)
|
|
3240
3317
|
const newsBox = document.createElement('div');
|
|
3241
3318
|
newsBox.style.cssText = `
|
|
3242
|
-
width: ${height * 1.
|
|
3319
|
+
width: ${height * 1.8}px;
|
|
3243
3320
|
height: 100%;
|
|
3244
|
-
background: #1e3c72;
|
|
3321
|
+
background: linear-gradient(135deg, #1e3c72 0%, #2a5298 50%, #1e3c72 100%);
|
|
3245
3322
|
display: flex;
|
|
3246
3323
|
flex-direction: column;
|
|
3247
3324
|
justify-content: center;
|
|
3248
|
-
|
|
3325
|
+
align-items: center;
|
|
3249
3326
|
position: relative;
|
|
3250
|
-
clip-path: polygon(0 0, 100% 0,
|
|
3327
|
+
clip-path: polygon(0 0, 100% 0, 82% 100%, 0 100%);
|
|
3251
3328
|
flex-shrink: 0;
|
|
3329
|
+
z-index: 40;
|
|
3330
|
+
border-right: 2px solid rgba(255,255,255,0.2);
|
|
3252
3331
|
`;
|
|
3253
3332
|
|
|
3333
|
+
const glossyNews = document.createElement('div');
|
|
3334
|
+
glossyNews.style.cssText = `
|
|
3335
|
+
position: absolute;
|
|
3336
|
+
top: 0; left: 0; right: 0; height: 40%;
|
|
3337
|
+
background: linear-gradient(180deg, rgba(255,255,255,0.15) 0%, rgba(255,255,255,0) 100%);
|
|
3338
|
+
`;
|
|
3339
|
+
newsBox.appendChild(glossyNews);
|
|
3340
|
+
|
|
3254
3341
|
const bt = document.createElement('div');
|
|
3255
|
-
bt.style.cssText = `display: flex; gap:
|
|
3342
|
+
bt.style.cssText = `display: flex; gap: 6px; margin-bottom: 2px; width: 100%; justify-content: center; padding-right: 18%; position: relative; z-index: 2;`;
|
|
3256
3343
|
|
|
3257
3344
|
const b1 = document.createElement('span');
|
|
3258
3345
|
b1.textContent = 'BREAKING';
|
|
3259
|
-
b1.style.cssText = `
|
|
3346
|
+
b1.style.cssText = `
|
|
3347
|
+
background: #c0392b;
|
|
3348
|
+
font-size: ${height * 0.14}px;
|
|
3349
|
+
font-weight: 900;
|
|
3350
|
+
padding: 2px 8px;
|
|
3351
|
+
border-radius: 2px;
|
|
3352
|
+
color: white;
|
|
3353
|
+
box-shadow: 0 0 10px rgba(192, 57, 43, 0.8);
|
|
3354
|
+
`;
|
|
3260
3355
|
bt.appendChild(b1);
|
|
3261
3356
|
|
|
3262
3357
|
const b2 = document.createElement('span');
|
|
3263
3358
|
b2.textContent = 'LIVE';
|
|
3264
|
-
b2.style.cssText = `
|
|
3359
|
+
b2.style.cssText = `
|
|
3360
|
+
background: #f1c40f;
|
|
3361
|
+
font-size: ${height * 0.14}px;
|
|
3362
|
+
font-weight: 900;
|
|
3363
|
+
padding: 2px 8px;
|
|
3364
|
+
border-radius: 2px;
|
|
3365
|
+
color: black;
|
|
3366
|
+
box-shadow: 0 0 10px rgba(241, 196, 15, 0.6);
|
|
3367
|
+
`;
|
|
3265
3368
|
bt.appendChild(b2);
|
|
3266
3369
|
newsBox.appendChild(bt);
|
|
3267
3370
|
|
|
3268
3371
|
const nt = document.createElement('div');
|
|
3269
3372
|
nt.textContent = 'NEWS';
|
|
3270
|
-
nt.style.cssText = `
|
|
3373
|
+
nt.style.cssText = `
|
|
3374
|
+
font-size: ${height * 0.5}px;
|
|
3375
|
+
font-weight: 900;
|
|
3376
|
+
color: white;
|
|
3377
|
+
letter-spacing: 6px;
|
|
3378
|
+
padding-right: 18%;
|
|
3379
|
+
line-height: 1;
|
|
3380
|
+
text-shadow: 3px 3px 6px rgba(0,0,0,0.6);
|
|
3381
|
+
`;
|
|
3271
3382
|
newsBox.appendChild(nt);
|
|
3272
3383
|
ticker.appendChild(newsBox);
|
|
3273
3384
|
|
|
3274
|
-
// Red Scrolling Bar
|
|
3385
|
+
// Red Scrolling Bar (Pro Upgrade)
|
|
3275
3386
|
const redBar = document.createElement('div');
|
|
3276
3387
|
redBar.style.cssText = `
|
|
3277
3388
|
flex-grow: 1;
|
|
3278
|
-
height:
|
|
3279
|
-
background: #c0392b;
|
|
3280
|
-
margin-left: -${height * 0.
|
|
3389
|
+
height: 52%;
|
|
3390
|
+
background: linear-gradient(90deg, #c0392b 0%, #e74c3c 50%, #c0392b 100%);
|
|
3391
|
+
margin-left: -${height * 0.3}px;
|
|
3281
3392
|
display: flex;
|
|
3282
3393
|
align-items: center;
|
|
3283
|
-
padding-left:
|
|
3284
|
-
|
|
3394
|
+
padding-left: ${height * 0.45}px;
|
|
3395
|
+
padding-right: 30px;
|
|
3396
|
+
clip-path: polygon(6% 0, 100% 0, 100% 100%, 0 100%);
|
|
3397
|
+
z-index: 20;
|
|
3398
|
+
border-top: 1px solid rgba(255,255,255,0.1);
|
|
3399
|
+
box-shadow: inset 0 0 15px rgba(0,0,0,0.4);
|
|
3285
3400
|
`;
|
|
3286
3401
|
|
|
3402
|
+
const glossyRed = document.createElement('div');
|
|
3403
|
+
glossyRed.style.cssText = `
|
|
3404
|
+
position: absolute;
|
|
3405
|
+
top: 0; left: 0; right: 0; height: 35%;
|
|
3406
|
+
background: linear-gradient(180deg, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0) 100%);
|
|
3407
|
+
`;
|
|
3408
|
+
redBar.appendChild(glossyRed);
|
|
3409
|
+
|
|
3287
3410
|
const tCont = document.createElement('div');
|
|
3288
3411
|
tCont.style.cssText = `flex-grow: 1; overflow: hidden; height: 100%; display: flex; align-items: center; color: white;`;
|
|
3289
3412
|
const track = this.createSeamlessScrollingTrack(config.items || [], config);
|
|
3290
|
-
track.style.fontSize = `${height * 0.
|
|
3291
|
-
track.style.fontWeight = '
|
|
3413
|
+
track.style.fontSize = `${height * 0.24}px`;
|
|
3414
|
+
track.style.fontWeight = '800';
|
|
3415
|
+
track.style.textShadow = '2px 2px 4px rgba(0,0,0,0.7)';
|
|
3292
3416
|
tCont.appendChild(track);
|
|
3293
3417
|
redBar.appendChild(tCont);
|
|
3294
3418
|
ticker.appendChild(redBar);
|