@gaulatti/giorgia 0.1.59 → 0.1.60
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/assets/mi.svg +6 -0
- package/dist/components/live-program/components/Marquee.js +1 -1
- package/dist/components/live-program/components/MarqueeCurtain.js +1 -1
- package/dist/components/live-program/components/WorldClocks.js +1 -1
- package/dist/components/live-program/components/slides/ArticleSlide.js +1 -1
- package/dist/components/live-program/components/slides/CallsignSlide.js +1 -1
- package/dist/components/live-program/components/slides/LiveEventSlide.js +6 -6
- package/dist/components/live-program/segments/EarthquakeSegment.js +2 -2
- package/dist/components/live-program/segments/LiveEventSegment.js +1 -1
- package/dist/components/live-program/segments/MarketsSegment.js +2 -2
- package/dist/components/live-program/segments/WeatherSegment.js +2 -2
- package/dist/fonts/barlow-condensed-latin-300-normal.woff2 +0 -0
- package/dist/fonts/barlow-condensed-latin-400-normal.woff2 +0 -0
- package/dist/fonts/barlow-condensed-latin-500-normal.woff2 +0 -0
- package/dist/fonts/barlow-condensed-latin-600-normal.woff2 +0 -0
- package/dist/fonts/barlow-condensed-latin-700-normal.woff2 +0 -0
- package/dist/fonts/barlow-condensed-latin-800-normal.woff2 +0 -0
- package/dist/fonts/barlow-latin-400-normal.woff2 +0 -0
- package/dist/fonts/barlow-latin-500-normal.woff2 +0 -0
- package/dist/fonts/barlow-latin-600-normal.woff2 +0 -0
- package/dist/fonts/barlow-latin-700-normal.woff2 +0 -0
- package/dist/fonts/barlow-latin-800-normal.woff2 +0 -0
- package/dist/fonts/fonts.css +17 -377
- package/dist/fonts/outfit-latin-400-normal.woff2 +0 -0
- package/dist/fonts/outfit-latin-500-normal.woff2 +0 -0
- package/dist/fonts/outfit-latin-600-normal.woff2 +0 -0
- package/dist/fonts/outfit-latin-700-normal.woff2 +0 -0
- package/dist/fonts/outfit-latin-800-normal.woff2 +0 -0
- package/dist/live-program-page/live-program.css +1 -1
- package/dist/live-program-page/live-program.js +3 -3
- package/dist/renderer.node.js +3 -2
- package/package.json +9 -3
- package/src/styles/compiled.css +1 -1
- package/src/templates/assets/mi.svg +6 -0
- package/src/templates/layouts/link-in-bio.hbs +8 -6
- package/src/templates/partials/blocks/heading.hbs +3 -3
- package/src/templates/partials/blocks/live-update.hbs +1 -1
- package/src/templates/partials/blocks/pull-quote.hbs +1 -1
- package/src/templates/partials/blocks/rich-text.hbs +1 -1
- package/src/templates/partials/components/article-main.hbs +2 -2
- package/src/templates/partials/components/breaking-news.hbs +2 -2
- package/src/templates/partials/components/category/header.hbs +1 -1
- package/src/templates/partials/components/category/main-grid.hbs +3 -3
- package/src/templates/partials/components/category/more-grid.hbs +2 -2
- package/src/templates/partials/components/editorial-hero.hbs +2 -2
- package/src/templates/partials/components/home/landing.hbs +2 -2
- package/src/templates/partials/components/home/more-stories.hbs +2 -2
- package/src/templates/partials/components/home/must-read.hbs +5 -5
- package/src/templates/partials/components/live-story/main.hbs +2 -2
- package/src/templates/partials/components/media/main.hbs +1 -1
- package/src/templates/partials/components/not-found/main.hbs +1 -1
- package/src/templates/partials/components/search/main.hbs +2 -2
- package/src/templates/partials/components/snack.hbs +1 -1
- package/src/templates/partials/components/spotlight-hero.hbs +1 -1
- package/src/templates/partials/headers/header-main.hbs +154 -381
- package/src/templates/partials/shell/doc-start-404.hbs +3 -2
- package/src/templates/partials/shell/doc-start-standard.hbs +3 -1
- package/src/templates/templates/instagram-image.hbs +5 -3
- package/dist/fonts/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGD_jZtU.ttf +0 -0
- package/dist/fonts/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGFPjZtU.ttf +0 -0
- package/dist/fonts/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGGHiZtU.ttf +0 -0
- package/dist/fonts/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGGHjZtU.ttf +0 -0
- package/dist/fonts/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGIbkZtU.ttf +0 -0
- package/dist/fonts/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGL_kZtU.ttf +0 -0
- package/dist/fonts/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGMjkZtU.ttf +0 -0
- package/dist/fonts/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGOHjZtU.ttf +0 -0
- package/dist/fonts/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGOHkZtU.ttf +0 -0
- package/dist/fonts/SlGDmQSNjdsmc35JDF1K5E55YMjF_7DPuGi-2fRUAw.ttf +0 -0
- package/dist/fonts/SlGDmQSNjdsmc35JDF1K5E55YMjF_7DPuGi-6_RUAw.ttf +0 -0
- package/dist/fonts/SlGDmQSNjdsmc35JDF1K5E55YMjF_7DPuGi-DPNUAw.ttf +0 -0
- package/dist/fonts/SlGDmQSNjdsmc35JDF1K5E55YMjF_7DPuGi-NfNUAw.ttf +0 -0
- package/dist/fonts/SlGDmQSNjdsmc35JDF1K5E55YMjF_7DPuGi-a_NUAw.ttf +0 -0
- package/dist/fonts/SlGFmQSNjdsmc35JDF1K5GRwUjcdlttVFm-rI7c8R496.ttf +0 -0
- package/dist/fonts/SlGFmQSNjdsmc35JDF1K5GRwUjcdlttVFm-rI7dbR496.ttf +0 -0
- package/dist/fonts/SlGFmQSNjdsmc35JDF1K5GRwUjcdlttVFm-rI7diR496.ttf +0 -0
- package/dist/fonts/SlGFmQSNjdsmc35JDF1K5GRwUjcdlttVFm-rI7e8QI96.ttf +0 -0
- package/dist/fonts/SlGFmQSNjdsmc35JDF1K5GRwUjcdlttVFm-rI7eOQI96.ttf +0 -0
- package/dist/fonts/TK3_WkUHHAIjg75cFRf3bXL8LICs13FvgUE.ttf +0 -0
- package/dist/fonts/TK3_WkUHHAIjg75cFRf3bXL8LICs169vgUE.ttf +0 -0
- package/dist/fonts/TK3_WkUHHAIjg75cFRf3bXL8LICs18NvgUE.ttf +0 -0
- package/dist/fonts/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvgUE.ttf +0 -0
- package/dist/fonts/TK3_WkUHHAIjg75cFRf3bXL8LICs1xZogUE.ttf +0 -0
- package/dist/fonts/TK3_WkUHHAIjg75cFRf3bXL8LICs1y9ogUE.ttf +0 -0
- package/dist/fonts/j8_16_LD37rqfuwxyIuaZhE6cRXOLtm2gfTGgQ.ttf +0 -0
- package/dist/fonts/j8_46_LD37rqfuwxyIuaZhE6cRXOLtm2gfT-BYipBw.ttf +0 -0
- package/dist/fonts/j8_46_LD37rqfuwxyIuaZhE6cRXOLtm2gfT-IYmpBw.ttf +0 -0
- package/dist/fonts/j8_46_LD37rqfuwxyIuaZhE6cRXOLtm2gfT-PYqpBw.ttf +0 -0
- package/dist/fonts/j8_46_LD37rqfuwxyIuaZhE6cRXOLtm2gfT-WYupBw.ttf +0 -0
- package/dist/fonts/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05oYiRNDM.ttf +0 -0
- package/dist/fonts/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05oZ8RNDM.ttf +0 -0
- package/dist/fonts/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05oZ8RdDM.ttf +0 -0
- package/dist/fonts/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05oZORNDM.ttf +0 -0
- package/dist/fonts/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05oabQ9DM.ttf +0 -0
- package/dist/fonts/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05oaiQ9DM.ttf +0 -0
- package/dist/fonts/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05ob8Q9DM.ttf +0 -0
- package/dist/fonts/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05ob8RNDM.ttf +0 -0
- package/dist/fonts/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05obVQ9DM.ttf +0 -0
- package/dist/fonts/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduh8MKUBw.ttf +0 -0
- package/dist/fonts/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduhHMWUBw.ttf +0 -0
- package/dist/fonts/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduhLsSUBw.ttf +0 -0
- package/dist/fonts/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduhLsWUBw.ttf +0 -0
- package/dist/fonts/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduhcMWUBw.ttf +0 -0
- package/dist/fonts/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduhh8KUBw.ttf +0 -0
- package/dist/fonts/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduhrsKUBw.ttf +0 -0
- package/dist/fonts/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduhrsWUBw.ttf +0 -0
- package/dist/fonts/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduhycKUBw.ttf +0 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 595.27 206.59" fill="#fff">
|
|
3
|
+
<path d="M160.26 103.3c0 44.25-35.88 80.13-80.12 80.13S0 147.55 0 103.3s35.87-80.14 80.14-80.14c44.25 0 80.12 35.88 80.12 80.14Z"/>
|
|
4
|
+
<rect x="211.95" y="23.16" width="160.26" height="160.27"/>
|
|
5
|
+
<path d="m415.46 181.15 89.9-155.71 89.91 155.71H415.46Z"/>
|
|
6
|
+
</svg>
|
|
@@ -73,7 +73,7 @@ export function Marquee({ events, onCycleComplete, minPostsCount = 4, minAverage
|
|
|
73
73
|
color: '#ffffff',
|
|
74
74
|
fontSize: '2rem',
|
|
75
75
|
fontWeight: '600',
|
|
76
|
-
fontFamily: '
|
|
76
|
+
fontFamily: 'Barlow, sans-serif'
|
|
77
77
|
}, children: event.title }), _jsx("div", { style: {
|
|
78
78
|
marginLeft: '2rem',
|
|
79
79
|
marginRight: '2rem',
|
|
@@ -25,6 +25,6 @@ export function MarqueeCurtain({ onComplete }) {
|
|
|
25
25
|
color: '#ffffff',
|
|
26
26
|
fontSize: '1.5rem',
|
|
27
27
|
fontWeight: '600',
|
|
28
|
-
fontFamily: '
|
|
28
|
+
fontFamily: 'Barlow, sans-serif'
|
|
29
29
|
}, children: ["This is fifth", _jsx("span", { style: { fontWeight: '700' }, children: "bell" }), "."] }), _jsx(BellRing, { size: 24, strokeWidth: 2, color: '#ffffff' })] }));
|
|
30
30
|
}
|
|
@@ -97,5 +97,5 @@ export function WorldClocks({ currentTime, timeOverride = null, language = 'en',
|
|
|
97
97
|
});
|
|
98
98
|
};
|
|
99
99
|
const cityLabel = TRANSLATABLE_CITY_KEYS.has(currentCity.city) ? t(`city.${currentCity.city}`, language) : currentCity.city;
|
|
100
|
-
return (_jsxs("div", { className: 'flex flex-col gap-1.5 transition-opacity duration-300', style: { opacity: isAnimating ? 0 : 1, width: `${widthPx}px` }, children: [_jsx("div", { className: 'text-white font-bold text-6xl tracking-tight leading-none text-center', style: { fontFamily: '
|
|
100
|
+
return (_jsxs("div", { className: 'flex flex-col gap-1.5 transition-opacity duration-300', style: { opacity: isAnimating ? 0 : 1, width: `${widthPx}px` }, children: [_jsx("div", { className: 'text-white font-bold text-6xl tracking-tight leading-none text-center', style: { fontFamily: 'Barlow Condensed, sans-serif' }, children: formatTime(currentCity.timezone) }), _jsx("div", { className: 'text-white/50 text-2xl font-bold tracking-wider leading-none uppercase text-center', style: { fontFamily: 'Barlow, sans-serif' }, children: cityLabel })] }));
|
|
101
101
|
}
|
|
@@ -28,5 +28,5 @@ export function ArticleSlide({ newsItem, progress }) {
|
|
|
28
28
|
console.error('Error getting average color', error);
|
|
29
29
|
}
|
|
30
30
|
};
|
|
31
|
-
return (_jsxs("div", { className: 'absolute inset-0', children: [_jsx("div", { className: 'absolute inset-0', children: _jsx("img", { src: imageUrl, alt: '', crossOrigin: 'anonymous', onLoad: handleImageLoad, className: 'w-full h-full object-cover blur-xl scale-105' }, imageUrl) }), _jsx("div", { className: 'absolute inset-0 opacity-75 mix-blend-multiply transition-all duration-1000', style: { background: `linear-gradient(to bottom right, ${dominantColor}, #000000)` } }), _jsx("div", { className: 'absolute inset-0 bg-[radial-gradient(circle_at_30%_30%,rgba(255,255,255,0.1),transparent_60%)]' }), _jsxs("div", { className: 'relative z-10 grid grid-cols-12 h-full', children: [_jsx("div", { className: 'col-span-5 flex flex-col justify-center p-24 relative bg-black/35 backdrop-blur-2xl', children: _jsxs("div", { className: 'animate-slide-up flex flex-col items-start', children: [newsItem.category && (_jsx("span", { className: "text-white text-3xl font-semibold uppercase tracking-wider mb-8 font-['
|
|
31
|
+
return (_jsxs("div", { className: 'absolute inset-0', children: [_jsx("div", { className: 'absolute inset-0', children: _jsx("img", { src: imageUrl, alt: '', crossOrigin: 'anonymous', onLoad: handleImageLoad, className: 'w-full h-full object-cover blur-xl scale-105' }, imageUrl) }), _jsx("div", { className: 'absolute inset-0 opacity-75 mix-blend-multiply transition-all duration-1000', style: { background: `linear-gradient(to bottom right, ${dominantColor}, #000000)` } }), _jsx("div", { className: 'absolute inset-0 bg-[radial-gradient(circle_at_30%_30%,rgba(255,255,255,0.1),transparent_60%)]' }), _jsxs("div", { className: 'relative z-10 grid grid-cols-12 h-full', children: [_jsx("div", { className: 'col-span-5 flex flex-col justify-center p-24 relative bg-black/35 backdrop-blur-2xl', children: _jsxs("div", { className: 'animate-slide-up flex flex-col items-start', children: [newsItem.category && (_jsx("span", { className: "text-white text-3xl font-semibold uppercase tracking-wider mb-8 font-['Barlow_Condensed'] inline-block px-4 py-2", style: { backgroundColor: dominantColor }, children: newsItem.category })), _jsx("div", { className: 'w-16 h-1.5 bg-[#b21100] mb-8' }), _jsx("h1", { className: "text-5xl font-bold leading-tight mb-8 tracking-tight line-clamp-6 font-['Barlow_Condensed'] [text-wrap:balance]", children: newsItem.headline }), _jsx("p", { className: "text-4xl font-light leading-relaxed opacity-90 line-clamp-6 font-['Barlow']", children: newsItem.summary })] }, newsItem.id) }), _jsx("div", { className: 'col-span-7 relative h-full flex items-center justify-center p-16 pb-40', children: _jsxs("div", { className: 'relative w-full aspect-video shadow-2xl overflow-hidden border-4 border-white/10', children: [_jsx("div", { className: 'absolute top-0 left-0 h-1 bg-white/30 w-full z-20', children: _jsx("div", { className: 'h-full bg-white transition-all duration-100 ease-linear', style: { width: `${progress}%` } }) }), _jsx("img", { src: imageUrl, alt: newsItem.headline, className: 'w-full h-full object-cover', style: { animation: 'kenburns 20s infinite alternate' } }, imageUrl), _jsx("div", { className: 'absolute bottom-8 right-8 z-30', children: _jsx("div", { className: 'p-2 rounded-sm backdrop-blur-md shadow-2xl', style: { backgroundColor: 'rgba(0,0,0,0.4)' }, children: _jsx("img", { src: qrCodeUrl, alt: 'Article QR code', className: 'block w-32 h-32' }) }) })] }) })] })] }));
|
|
32
32
|
}
|
|
@@ -45,5 +45,5 @@ export function CallsignSlide({ currentTime: initialTime }) {
|
|
|
45
45
|
setDominantColor('#b21100');
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
|
-
return (_jsxs("div", { className: 'absolute inset-0 animate-slide-transition', children: [_jsx("div", { className: 'absolute inset-0', children: _jsx("img", { src: backgroundImage, alt: '', crossOrigin: 'anonymous', onLoad: handleImageLoad, className: 'w-full h-full object-cover blur-xl scale-105' }, backgroundImage) }), _jsx("div", { className: 'absolute inset-0 opacity-75 mix-blend-multiply transition-all duration-1000', style: { background: `linear-gradient(to bottom right, ${dominantColor}, #000000)` } }), _jsx("div", { className: 'absolute inset-0 bg-[radial-gradient(circle_at_30%_30%,rgba(255,255,255,0.1),transparent_60%)]' }), _jsxs("div", { className: 'relative z-10 h-full flex flex-col items-center justify-center', children: [_jsx("div", { className: 'bg-[#b21100] text-white p-12 shadow-2xl mb-16 animate-scale-in', style: { opacity: fullOpacity, transition: 'opacity 0.5s' }, children: _jsx(BellRing, { size: 256, strokeWidth: 2 }) }), _jsx("div", { className: 'absolute top-4 left-4', style: { opacity: smallOpacity, transition: 'opacity 0.5s' }, children: _jsx("div", { className: 'bg-[#b21100] text-white p-6 shadow-lg scale-50', children: _jsx(BellRing, { size: 128, strokeWidth: 2 }) }) }), _jsx("div", { className: 'flex flex-col items-center', style: { opacity: centerOpacity, transition: 'opacity 0.5s' } }), _jsx("div", { className: "text-white text-6xl font-bold tracking-wider animate-fade-in-delay font-['
|
|
48
|
+
return (_jsxs("div", { className: 'absolute inset-0 animate-slide-transition', children: [_jsx("div", { className: 'absolute inset-0', children: _jsx("img", { src: backgroundImage, alt: '', crossOrigin: 'anonymous', onLoad: handleImageLoad, className: 'w-full h-full object-cover blur-xl scale-105' }, backgroundImage) }), _jsx("div", { className: 'absolute inset-0 opacity-75 mix-blend-multiply transition-all duration-1000', style: { background: `linear-gradient(to bottom right, ${dominantColor}, #000000)` } }), _jsx("div", { className: 'absolute inset-0 bg-[radial-gradient(circle_at_30%_30%,rgba(255,255,255,0.1),transparent_60%)]' }), _jsxs("div", { className: 'relative z-10 h-full flex flex-col items-center justify-center', children: [_jsx("div", { className: 'bg-[#b21100] text-white p-12 shadow-2xl mb-16 animate-scale-in', style: { opacity: fullOpacity, transition: 'opacity 0.5s' }, children: _jsx(BellRing, { size: 256, strokeWidth: 2 }) }), _jsx("div", { className: 'absolute top-4 left-4', style: { opacity: smallOpacity, transition: 'opacity 0.5s' }, children: _jsx("div", { className: 'bg-[#b21100] text-white p-6 shadow-lg scale-50', children: _jsx(BellRing, { size: 128, strokeWidth: 2 }) }) }), _jsx("div", { className: 'flex flex-col items-center', style: { opacity: centerOpacity, transition: 'opacity 0.5s' } }), _jsx("div", { className: "text-white text-6xl font-bold tracking-wider animate-fade-in-delay font-['Barlow_Condensed']", style: { opacity: showTime ? 1 : 0, transition: 'opacity 0.5s' }, children: formatNyTime(displayTime) }), _jsxs("div", { className: 'text-white text-3xl opacity-75 mt-4 animate-fade-in-delay', style: { opacity: showTime ? 1 : 0, transition: 'opacity 0.5s' }, children: ["This is fifth", _jsx("span", { className: 'font-bold', children: "bell" }), "."] })] })] }));
|
|
49
49
|
}
|
|
@@ -25,9 +25,9 @@ function formatUpdateTime(update) {
|
|
|
25
25
|
function LatestUpdates({ updates, language }) {
|
|
26
26
|
const latest = useMemo(() => updates.slice(0, 5), [updates]);
|
|
27
27
|
if (latest.length === 0) {
|
|
28
|
-
return (_jsx("p", { className: "text-white/50 font-['
|
|
28
|
+
return (_jsx("p", { className: "text-white/50 font-['Barlow'] text-xl", children: t('liveEvent.noUpdates', language) }));
|
|
29
29
|
}
|
|
30
|
-
return (_jsx("div", { className: 'flex flex-col gap-3', children: latest.map((update, i) => (_jsxs("div", { className: 'flex gap-3 items-start', children: [_jsx("div", { className: 'w-2 h-2 rounded-full bg-[#4FC3F7] flex-shrink-0 mt-2' }), _jsxs("div", { className: 'flex flex-col gap-0.5 min-w-0', children: [formatUpdateTime(update) && (_jsx("span", { className: "text-sm font-semibold text-[#0ea5e9] font-['
|
|
30
|
+
return (_jsx("div", { className: 'flex flex-col gap-3', children: latest.map((update, i) => (_jsxs("div", { className: 'flex gap-3 items-start', children: [_jsx("div", { className: 'w-2 h-2 rounded-full bg-[#4FC3F7] flex-shrink-0 mt-2' }), _jsxs("div", { className: 'flex flex-col gap-0.5 min-w-0', children: [formatUpdateTime(update) && (_jsx("span", { className: "text-sm font-semibold text-[#0ea5e9] font-['Barlow']", children: formatUpdateTime(update) })), update.html ? (_jsx("div", { className: "text-white/90 text-lg leading-snug font-['Barlow'] [&_img]:hidden", children: update.html.replace(/<[^>]*>/g, '') })) : update.text ? (_jsx("p", { className: "text-white/90 text-lg leading-snug font-['Barlow'] truncate", children: update.text })) : null] })] }, i))) }));
|
|
31
31
|
}
|
|
32
32
|
function ScrollingTimeline({ updates, language }) {
|
|
33
33
|
const [visibleStart, setVisibleStart] = useState(0);
|
|
@@ -54,9 +54,9 @@ function ScrollingTimeline({ updates, language }) {
|
|
|
54
54
|
return items;
|
|
55
55
|
}, [updates, visibleStart, displayCount]);
|
|
56
56
|
if (updates.length === 0) {
|
|
57
|
-
return (_jsx("div", { className: 'flex items-center justify-center h-full', children: _jsx("p", { className: "text-white/50 font-['
|
|
57
|
+
return (_jsx("div", { className: 'flex items-center justify-center h-full', children: _jsx("p", { className: "text-white/50 font-['Barlow'] text-2xl", children: t('liveEvent.noUpdates', language) }) }));
|
|
58
58
|
}
|
|
59
|
-
return (_jsx("div", { className: 'flex flex-col justify-center gap-5 h-full', children: visibleUpdates.map((update, i) => (_jsxs("div", { className: 'flex gap-4 items-start animate-slide-up', children: [_jsx("div", { className: 'w-3 h-3 rounded-full bg-[#4FC3F7] flex-shrink-0 mt-1.5 shadow-[0_0_12px_rgba(79,195,247,0.5)]' }), _jsxs("div", { className: 'flex flex-col gap-1 min-w-0 flex-1', children: [formatUpdateTime(update) && (_jsx("span", { className: "text-sm font-semibold text-[#4FC3F7] font-['
|
|
59
|
+
return (_jsx("div", { className: 'flex flex-col justify-center gap-5 h-full', children: visibleUpdates.map((update, i) => (_jsxs("div", { className: 'flex gap-4 items-start animate-slide-up', children: [_jsx("div", { className: 'w-3 h-3 rounded-full bg-[#4FC3F7] flex-shrink-0 mt-1.5 shadow-[0_0_12px_rgba(79,195,247,0.5)]' }), _jsxs("div", { className: 'flex flex-col gap-1 min-w-0 flex-1', children: [formatUpdateTime(update) && (_jsx("span", { className: "text-sm font-semibold text-[#4FC3F7] font-['Barlow'] tracking-wide", children: formatUpdateTime(update) })), update.html ? (_jsx("div", { className: "text-white text-xl leading-snug font-['Barlow'] font-light [&_img]:hidden [&_a]:text-[#4FC3F7] [&_a]:underline", children: update.html.replace(/<[^>]*>/g, '') })) : update.text ? (_jsx("p", { className: "text-white text-xl leading-snug font-['Barlow'] font-light line-clamp-2", children: update.text })) : null] })] }, `${visibleStart}-${i}`))) }));
|
|
60
60
|
}
|
|
61
61
|
export function LiveEventSlide({ event, progress, language }) {
|
|
62
62
|
const [dominantColor, setDominantColor] = useState('#b21100');
|
|
@@ -77,9 +77,9 @@ export function LiveEventSlide({ event, progress, language }) {
|
|
|
77
77
|
}
|
|
78
78
|
}, []);
|
|
79
79
|
if (isSports) {
|
|
80
|
-
return (_jsxs("div", { className: 'absolute inset-0', children: [_jsx("div", { className: 'absolute inset-0', children: _jsx("img", { src: event.image, alt: '', crossOrigin: 'anonymous', onLoad: handleImageLoad, className: 'w-full h-full object-cover blur-xl scale-105' }, event.image) }), _jsx("div", { className: 'absolute inset-0 opacity-75 mix-blend-multiply transition-all duration-1000', style: { background: `linear-gradient(to bottom right, ${dominantColor}, #000000)` } }), _jsx("div", { className: 'absolute inset-0 bg-[radial-gradient(circle_at_30%_30%,rgba(255,255,255,0.1),transparent_60%)]' }), _jsxs("div", { className: 'relative z-10 grid grid-cols-12 h-full', children: [_jsx("div", { className: 'col-span-5 flex flex-col justify-center p-16 relative bg-black/35 backdrop-blur-2xl', children: _jsxs("div", { className: 'animate-slide-up flex flex-col items-start', children: [_jsx("span", { className: "inline-flex items-center px-4 py-1.5 bg-[#cc0000] text-white text-xl font-bold tracking-[0.08em] uppercase font-['
|
|
80
|
+
return (_jsxs("div", { className: 'absolute inset-0', children: [_jsx("div", { className: 'absolute inset-0', children: _jsx("img", { src: event.image, alt: '', crossOrigin: 'anonymous', onLoad: handleImageLoad, className: 'w-full h-full object-cover blur-xl scale-105' }, event.image) }), _jsx("div", { className: 'absolute inset-0 opacity-75 mix-blend-multiply transition-all duration-1000', style: { background: `linear-gradient(to bottom right, ${dominantColor}, #000000)` } }), _jsx("div", { className: 'absolute inset-0 bg-[radial-gradient(circle_at_30%_30%,rgba(255,255,255,0.1),transparent_60%)]' }), _jsxs("div", { className: 'relative z-10 grid grid-cols-12 h-full', children: [_jsx("div", { className: 'col-span-5 flex flex-col justify-center p-16 relative bg-black/35 backdrop-blur-2xl', children: _jsxs("div", { className: 'animate-slide-up flex flex-col items-start', children: [_jsx("span", { className: "inline-flex items-center px-4 py-1.5 bg-[#cc0000] text-white text-xl font-bold tracking-[0.08em] uppercase font-['Barlow_Condensed'] mb-4", children: "LIVE" }), _jsx("span", { className: "text-white/80 text-2xl font-semibold uppercase tracking-wider mb-2 font-['Barlow_Condensed']", children: event.category }), _jsx("div", { className: 'w-16 h-1.5 bg-[#b21100] mb-6' }), _jsx("h1", { className: "text-4xl font-bold leading-tight mb-4 tracking-tight line-clamp-5 font-['Barlow_Condensed'] [text-wrap:balance] text-white", children: event.title }), event.excerpt && (_jsx("p", { className: "text-2xl font-light leading-relaxed opacity-80 line-clamp-3 font-['Barlow'] text-white mb-6", children: event.excerpt })), _jsx(LatestUpdates, { updates: event.updates, language: language })] }) }), _jsx("div", { className: 'col-span-7 relative h-full flex items-center justify-center p-12 pb-32', children: _jsxs("div", { className: 'relative w-full max-w-lg flex flex-col gap-4', children: [_jsxs("div", { className: 'relative aspect-video shadow-2xl overflow-hidden border border-white/10', children: [_jsx("div", { className: 'absolute top-0 left-0 h-1 bg-white/30 w-full z-20', children: _jsx("div", { className: 'h-full bg-white transition-all duration-100 ease-linear', style: { width: `${progress}%` } }) }), _jsx("img", { src: event.image, alt: event.alt, className: 'w-full h-full object-cover', style: { animation: 'kenburns 20s infinite alternate' }, crossOrigin: 'anonymous' }, event.image)] }), sofascoreWidgetUrl && (_jsx("div", { className: 'w-full overflow-hidden border border-white/10 bg-black/40', children: _jsx("iframe", { width: '100%', height: '180', src: sofascoreWidgetUrl, title: 'SofaScore Attack Momentum', frameBorder: '0', scrolling: 'no', loading: 'lazy', referrerPolicy: 'no-referrer-when-downgrade', style: { border: 0 } }) })), _jsx("div", { className: 'absolute bottom-4 right-4 z-30', children: _jsx("div", { className: 'p-2 rounded-sm backdrop-blur-md shadow-2xl', style: { backgroundColor: 'rgba(0,0,0,0.4)' }, children: _jsx("img", { src: qrCodeUrl, alt: 'QR code', className: 'block w-24 h-24' }) }) })] }) })] })] }));
|
|
81
81
|
}
|
|
82
|
-
return (_jsxs("div", { className: 'absolute inset-0', children: [_jsx("div", { className: 'absolute inset-0', children: _jsx("img", { src: event.image, alt: '', crossOrigin: 'anonymous', onLoad: handleImageLoad, className: 'w-full h-full object-cover blur-xl scale-105' }, event.image) }), _jsx("div", { className: 'absolute inset-0 opacity-80 mix-blend-multiply transition-all duration-1000', style: { background: `linear-gradient(to bottom right, ${dominantColor}, #000000)` } }), _jsx("div", { className: 'absolute inset-0 bg-[radial-gradient(circle_at_30%_30%,rgba(255,255,255,0.1),transparent_60%)]' }), _jsxs("div", { className: 'relative z-10 grid grid-cols-12 h-full', children: [_jsx("div", { className: 'col-span-5 flex flex-col justify-center p-16 relative bg-black/35 backdrop-blur-2xl', children: _jsxs("div", { className: 'animate-slide-up flex flex-col items-start', children: [_jsx("span", { className: "inline-flex items-center px-4 py-1.5 bg-[#cc0000] text-white text-xl font-bold tracking-[0.08em] uppercase font-['
|
|
82
|
+
return (_jsxs("div", { className: 'absolute inset-0', children: [_jsx("div", { className: 'absolute inset-0', children: _jsx("img", { src: event.image, alt: '', crossOrigin: 'anonymous', onLoad: handleImageLoad, className: 'w-full h-full object-cover blur-xl scale-105' }, event.image) }), _jsx("div", { className: 'absolute inset-0 opacity-80 mix-blend-multiply transition-all duration-1000', style: { background: `linear-gradient(to bottom right, ${dominantColor}, #000000)` } }), _jsx("div", { className: 'absolute inset-0 bg-[radial-gradient(circle_at_30%_30%,rgba(255,255,255,0.1),transparent_60%)]' }), _jsxs("div", { className: 'relative z-10 grid grid-cols-12 h-full', children: [_jsx("div", { className: 'col-span-5 flex flex-col justify-center p-16 relative bg-black/35 backdrop-blur-2xl', children: _jsxs("div", { className: 'animate-slide-up flex flex-col items-start', children: [_jsx("span", { className: "inline-flex items-center px-4 py-1.5 bg-[#cc0000] text-white text-xl font-bold tracking-[0.08em] uppercase font-['Barlow_Condensed'] mb-4", children: "LIVE" }), _jsx("span", { className: "text-white/80 text-2xl font-semibold uppercase tracking-wider mb-2 font-['Barlow_Condensed']", children: event.category }), _jsx("div", { className: 'w-16 h-1.5 bg-[#b21100] mb-6' }), _jsx("h1", { className: "text-4xl font-bold leading-tight mb-4 tracking-tight line-clamp-5 font-['Barlow_Condensed'] [text-wrap:balance] text-white", children: event.title }), event.excerpt && (_jsx("p", { className: "text-2xl font-light leading-relaxed opacity-80 line-clamp-3 font-['Barlow'] text-white", children: event.excerpt }))] }) }), _jsxs("div", { className: 'col-span-7 relative h-full flex flex-col justify-center p-16 pl-12', children: [_jsxs("div", { className: 'flex items-start gap-4 mb-8', children: [_jsx("div", { className: 'bg-[#b21100] text-white px-4 py-2 shadow-lg', children: _jsx(SecondBellIcon, { size: 32 }) }), _jsx("h2", { className: "text-white/60 text-2xl font-semibold uppercase tracking-[0.12em] font-['Barlow_Condensed']", children: "LIVE UPDATES" })] }), _jsx(ScrollingTimeline, { updates: event.updates, language: language }), _jsx("div", { className: 'absolute bottom-8 right-8 z-30', children: _jsx("div", { className: 'p-2 rounded-sm backdrop-blur-md shadow-2xl', style: { backgroundColor: 'rgba(0,0,0,0.4)' }, children: _jsx("img", { src: qrCodeUrl, alt: 'QR code', className: 'block w-24 h-24' }) }) })] })] })] }));
|
|
83
83
|
}
|
|
84
84
|
function SecondBellIcon({ size }) {
|
|
85
85
|
return (_jsxs("svg", { width: size, height: size, viewBox: '0 0 24 24', fill: 'none', stroke: 'currentColor', strokeWidth: '2', strokeLinecap: 'round', strokeLinejoin: 'round', children: [_jsx("path", { d: 'M10.268 21a2 2 0 0 0 3.464 0' }), _jsx("path", { d: 'M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326' }), _jsx("path", { d: 'M4 2C2.8 3.7 2 5.7 2 8' }), _jsx("path", { d: 'M22 8a10 10 0 0 0-2-6' })] }));
|
|
@@ -89,7 +89,7 @@ function EarthquakeSlide({ earthquakes, progress, language }) {
|
|
|
89
89
|
if (earthquakes.length === 0) {
|
|
90
90
|
return (_jsxs("div", { className: 'absolute inset-0', children: [_jsx("div", { className: 'absolute inset-0 opacity-75', style: { background: 'linear-gradient(to bottom right, #7c2d12, #000000)' } }), _jsx("div", { className: 'relative z-10 h-full flex items-center justify-center', children: _jsx("div", { className: 'text-4xl font-light', children: t('earthquakes.noData', language) }) })] }));
|
|
91
91
|
}
|
|
92
|
-
return (_jsxs("div", { className: 'absolute inset-0 animate-slide-transition', children: [_jsx("div", { className: 'absolute inset-0', children: _jsx("img", { src: backgroundImage, alt: '', crossOrigin: 'anonymous', onLoad: handleImageLoad, className: 'w-full h-full object-cover blur-xl scale-105' }, backgroundImage) }), _jsx("div", { className: 'absolute inset-0 opacity-75 mix-blend-multiply transition-all duration-1000', style: { background: `linear-gradient(to bottom right, ${dominantColor}, #000000)` } }), _jsx("div", { className: 'absolute inset-0 bg-[radial-gradient(circle_at_30%_30%,rgba(255,255,255,0.1),transparent_60%)]' }), _jsxs("div", { className: 'relative z-10 h-full flex flex-col justify-center px-24 py-24', children: [_jsxs("div", { className: 'mb-8 animate-slide-up', children: [_jsx("div", { className: 'w-32 h-2 bg-white mb-8' }), _jsxs("div", { className: 'flex items-center space-x-4 mb-4', children: [_jsx(AlertTriangle, { size: 56, className: 'text-orange-500', strokeWidth: 2 }), _jsx("h1", { className: "text-5xl font-bold tracking-tight leading-tight font-['
|
|
92
|
+
return (_jsxs("div", { className: 'absolute inset-0 animate-slide-transition', children: [_jsx("div", { className: 'absolute inset-0', children: _jsx("img", { src: backgroundImage, alt: '', crossOrigin: 'anonymous', onLoad: handleImageLoad, className: 'w-full h-full object-cover blur-xl scale-105' }, backgroundImage) }), _jsx("div", { className: 'absolute inset-0 opacity-75 mix-blend-multiply transition-all duration-1000', style: { background: `linear-gradient(to bottom right, ${dominantColor}, #000000)` } }), _jsx("div", { className: 'absolute inset-0 bg-[radial-gradient(circle_at_30%_30%,rgba(255,255,255,0.1),transparent_60%)]' }), _jsxs("div", { className: 'relative z-10 h-full flex flex-col justify-center px-24 py-24', children: [_jsxs("div", { className: 'mb-8 animate-slide-up', children: [_jsx("div", { className: 'w-32 h-2 bg-white mb-8' }), _jsxs("div", { className: 'flex items-center space-x-4 mb-4', children: [_jsx(AlertTriangle, { size: 56, className: 'text-orange-500', strokeWidth: 2 }), _jsx("h1", { className: "text-5xl font-bold tracking-tight leading-tight font-['Barlow_Condensed']", children: t('earthquakes.header', language) })] }), _jsx("h2", { className: 'text-2xl font-light opacity-90 leading-relaxed', children: t('earthquakes.subtitle', language) })] }), _jsx("div", { className: 'grid grid-cols-2 gap-6 animate-slide-up', children: earthquakes.map((quake, index) => {
|
|
93
93
|
const baseColor = getMagnitudeColor(quake.magnitude);
|
|
94
94
|
const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(baseColor);
|
|
95
95
|
const rgb = result
|
|
@@ -107,7 +107,7 @@ function EarthquakeSlide({ earthquakes, progress, language }) {
|
|
|
107
107
|
}
|
|
108
108
|
const opacity = 0.15 + magnitudeIntensity * 0.35;
|
|
109
109
|
const backgroundColor = `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${opacity})`;
|
|
110
|
-
return (_jsxs("div", { className: 'grid grid-cols-[auto_1fr] gap-x-12 items-center p-6 backdrop-blur-sm rounded-lg border border-white/5', style: { animationDelay: `${index * 0.05}s`, backgroundColor }, children: [_jsx("div", { className: 'flex flex-col items-center', style: { width: '100px' }, children: _jsxs("div", { className: 'text-5xl font-bold leading-none', children: ["M", quake.magnitude.toFixed(1)] }) }), _jsxs("div", { className: 'flex flex-col justify-center min-w-0', children: [_jsx("h3", { className: "text-3xl font-bold mb-2 line-clamp-2 leading-tight font-['
|
|
110
|
+
return (_jsxs("div", { className: 'grid grid-cols-[auto_1fr] gap-x-12 items-center p-6 backdrop-blur-sm rounded-lg border border-white/5', style: { animationDelay: `${index * 0.05}s`, backgroundColor }, children: [_jsx("div", { className: 'flex flex-col items-center', style: { width: '100px' }, children: _jsxs("div", { className: 'text-5xl font-bold leading-none', children: ["M", quake.magnitude.toFixed(1)] }) }), _jsxs("div", { className: 'flex flex-col justify-center min-w-0', children: [_jsx("h3", { className: "text-3xl font-bold mb-2 line-clamp-2 leading-tight font-['Barlow_Condensed']", title: quake.location, children: quake.location }), _jsxs("div", { className: 'grid grid-cols-2 gap-x-4 gap-y-1.5 text-xl', children: [_jsxs("div", { className: 'flex items-center space-x-2', children: [_jsx(Clock, { size: 16, className: 'opacity-70 shrink-0' }), _jsx("span", { className: 'truncate', children: quake.time })] }), _jsxs("div", { className: 'flex items-center space-x-2', children: [_jsx(Layers, { size: 16, className: 'opacity-70 shrink-0' }), _jsxs("span", { className: 'truncate', children: [quake.depth, " ", t('earthquakes.depth', language)] })] }), _jsxs("div", { className: 'flex items-center space-x-2 opacity-80', children: [_jsx(MapPin, { size: 16, className: 'opacity-70 shrink-0' }), _jsxs("span", { className: 'truncate', children: [quake.lat.toFixed(2), "\u00B0, ", quake.lng.toFixed(2), "\u00B0"] })] }), quake.sources.length > 0 && (_jsxs("div", { className: 'flex items-center space-x-2 opacity-80', children: [_jsx(Link, { size: 16, className: 'opacity-70 shrink-0' }), _jsx("span", { className: 'truncate', children: quake.sources.join(', ') })] }))] })] })] }, quake.id));
|
|
111
111
|
}) }), _jsx("div", { className: 'absolute bottom-24 left-24 right-24 h-1 bg-white/30', children: _jsx("div", { className: 'h-full bg-white transition-all duration-100 ease-linear', style: { width: `${progress}%` } }) })] })] }));
|
|
112
112
|
}
|
|
113
113
|
function EarthquakeLoadingSlide({ language }) {
|
|
@@ -4,7 +4,7 @@ import { fetchLiveEvent } from './fetchLiveEvents.js';
|
|
|
4
4
|
import { t } from '../i18n.js';
|
|
5
5
|
function LiveEventSegmentRenderer({ event, progress, language }) {
|
|
6
6
|
if (!event) {
|
|
7
|
-
return (_jsx("div", { className: 'absolute inset-0 bg-black flex items-center justify-center', children: _jsx("p", { className: "text-white/50 text-2xl font-['
|
|
7
|
+
return (_jsx("div", { className: 'absolute inset-0 bg-black flex items-center justify-center', children: _jsx("p", { className: "text-white/50 text-2xl font-['Barlow']", children: t('liveEvent.noLiveEvents', language) }) }));
|
|
8
8
|
}
|
|
9
9
|
return (_jsx("div", { className: 'relative w-full h-full', children: _jsx(LiveEventSlide, { event: event, progress: progress, language: language }, event.title) }));
|
|
10
10
|
}
|
|
@@ -49,14 +49,14 @@ function MarketSlide({ progress, marketData, language }) {
|
|
|
49
49
|
if (marketData.length === 0) {
|
|
50
50
|
return (_jsxs("div", { className: 'absolute inset-0', children: [_jsx("div", { className: 'absolute inset-0 opacity-75', style: { background: 'linear-gradient(to bottom right, #065f46, #000000)' } }), _jsx("div", { className: 'relative z-10 h-full flex items-center justify-center', children: _jsx("div", { className: 'text-4xl font-light animate-pulse', children: t('markets.loading', language) }) })] }));
|
|
51
51
|
}
|
|
52
|
-
return (_jsxs("div", { className: 'absolute inset-0 animate-slide-transition', children: [_jsx("div", { className: 'absolute inset-0', children: _jsx("img", { src: backgroundImage, alt: '', crossOrigin: 'anonymous', onLoad: handleImageLoad, className: 'w-full h-full object-cover blur-xl scale-105' }, backgroundImage) }), _jsx("div", { className: 'absolute inset-0 opacity-75 mix-blend-multiply transition-all duration-1000', style: { background: `linear-gradient(to bottom right, ${dominantColor}, #000000)` } }), _jsx("div", { className: 'absolute inset-0 bg-[radial-gradient(circle_at_30%_30%,rgba(255,255,255,0.1),transparent_60%)]' }), _jsxs("div", { className: 'relative z-10 h-full flex flex-col justify-center px-24', children: [_jsxs("div", { className: 'mb-12 animate-slide-up', children: [_jsx("div", { className: 'w-32 h-2 bg-white mb-12' }), _jsx("h1", { className: "text-5xl font-bold tracking-tight mb-8 leading-tight font-['
|
|
52
|
+
return (_jsxs("div", { className: 'absolute inset-0 animate-slide-transition', children: [_jsx("div", { className: 'absolute inset-0', children: _jsx("img", { src: backgroundImage, alt: '', crossOrigin: 'anonymous', onLoad: handleImageLoad, className: 'w-full h-full object-cover blur-xl scale-105' }, backgroundImage) }), _jsx("div", { className: 'absolute inset-0 opacity-75 mix-blend-multiply transition-all duration-1000', style: { background: `linear-gradient(to bottom right, ${dominantColor}, #000000)` } }), _jsx("div", { className: 'absolute inset-0 bg-[radial-gradient(circle_at_30%_30%,rgba(255,255,255,0.1),transparent_60%)]' }), _jsxs("div", { className: 'relative z-10 h-full flex flex-col justify-center px-24', children: [_jsxs("div", { className: 'mb-12 animate-slide-up', children: [_jsx("div", { className: 'w-32 h-2 bg-white mb-12' }), _jsx("h1", { className: "text-5xl font-bold tracking-tight mb-8 leading-tight font-['Barlow_Condensed']", children: t('markets.header', language) }), _jsx("h2", { className: 'text-3xl font-light opacity-90 leading-relaxed', children: t('markets.subtitle', language) })] }), _jsx("div", { className: 'grid grid-cols-2 gap-4 animate-slide-up', children: marketData.map((stock, index) => {
|
|
53
53
|
const isPositive = stock.change >= 0;
|
|
54
54
|
const changeColor = isPositive ? 'text-green-400' : 'text-red-400';
|
|
55
55
|
const Icon = isPositive ? TrendingUp : TrendingDown;
|
|
56
56
|
const logIntensity = Math.log10(1 + Math.abs(stock.changePercent)) / Math.log10(1 + 100);
|
|
57
57
|
const opacity = 0.15 + Math.min(logIntensity, 1) * 0.35;
|
|
58
58
|
const backgroundColor = isPositive ? `rgba(34, 197, 94, ${opacity})` : `rgba(239, 68, 68, ${opacity})`;
|
|
59
|
-
return (_jsxs("div", { className: 'grid grid-cols-2 gap-x-12 items-center p-6 backdrop-blur-sm rounded-lg border border-white/5', style: { animationDelay: `${index * 0.05}s`, backgroundColor }, children: [_jsxs("div", { className: 'flex flex-col', children: [_jsx("span", { className: "text-4xl font-bold mb-1 font-['
|
|
59
|
+
return (_jsxs("div", { className: 'grid grid-cols-2 gap-x-12 items-center p-6 backdrop-blur-sm rounded-lg border border-white/5', style: { animationDelay: `${index * 0.05}s`, backgroundColor }, children: [_jsxs("div", { className: 'flex flex-col', children: [_jsx("span", { className: "text-4xl font-bold mb-1 font-['Barlow_Condensed']", children: stock.symbol }), _jsx("span", { className: 'text-2xl opacity-70', children: stock.name })] }), _jsxs("div", { className: 'flex flex-col items-end', children: [_jsxs("div", { className: "text-5xl font-bold mb-1 font-['Barlow_Condensed']", children: ["$", stock.price.toFixed(2)] }), _jsxs("div", { className: `flex items-center space-x-2 ${changeColor}`, children: [_jsx(Icon, { size: 24, strokeWidth: 2 }), _jsxs("span", { className: 'text-3xl font-bold', children: [isPositive ? '+' : '', stock.change.toFixed(2)] }), _jsxs("span", { className: 'text-2xl opacity-80', children: ["(", isPositive ? '+' : '', stock.changePercent.toFixed(2), "%)"] })] })] })] }, stock.symbol));
|
|
60
60
|
}) }), _jsx("div", { className: 'mt-6 mb-24 text-xl opacity-60 animate-fade-in-delay', children: _jsx("p", { children: t('markets.lastUpdate', language, { time: getLastUpdateTime() }) }) }), _jsx("div", { className: 'absolute bottom-24 left-24 right-24 h-1 bg-white/30', children: _jsx("div", { className: 'h-full bg-white transition-all duration-100 ease-linear', style: { width: `${progress}%` } }) })] })] }));
|
|
61
61
|
}
|
|
62
62
|
export function createMarketsSegment(marketData, onDataUpdate, language = 'en') {
|
|
@@ -83,11 +83,11 @@ function WeatherSlide({ weatherData, progress, unit, language }) {
|
|
|
83
83
|
setDominantColor('#1e40af');
|
|
84
84
|
}
|
|
85
85
|
};
|
|
86
|
-
return (_jsxs("div", { className: 'absolute inset-0 animate-slide-transition', children: [backgroundImage && (_jsx("div", { className: 'absolute inset-0', children: _jsx("img", { src: backgroundImage, alt: '', crossOrigin: 'anonymous', onLoad: handleImageLoad, className: 'w-full h-full object-cover blur-xl scale-105' }, backgroundImage) })), _jsx("div", { className: 'absolute inset-0 opacity-75 mix-blend-multiply transition-all duration-1000', style: { background: `linear-gradient(to bottom right, ${dominantColor}, #000000)` } }), _jsx("div", { className: 'absolute inset-0 bg-[radial-gradient(circle_at_30%_30%,rgba(255,255,255,0.1),transparent_60%)]' }), _jsxs("div", { className: 'relative z-10 h-full flex flex-col justify-center px-24', children: [_jsxs("div", { className: 'mb-12 animate-slide-up', children: [_jsx("div", { className: 'w-32 h-2 bg-white mb-12' }), _jsx("h1", { className: "text-5xl font-bold tracking-tight mb-8 leading-tight font-['
|
|
86
|
+
return (_jsxs("div", { className: 'absolute inset-0 animate-slide-transition', children: [backgroundImage && (_jsx("div", { className: 'absolute inset-0', children: _jsx("img", { src: backgroundImage, alt: '', crossOrigin: 'anonymous', onLoad: handleImageLoad, className: 'w-full h-full object-cover blur-xl scale-105' }, backgroundImage) })), _jsx("div", { className: 'absolute inset-0 opacity-75 mix-blend-multiply transition-all duration-1000', style: { background: `linear-gradient(to bottom right, ${dominantColor}, #000000)` } }), _jsx("div", { className: 'absolute inset-0 bg-[radial-gradient(circle_at_30%_30%,rgba(255,255,255,0.1),transparent_60%)]' }), _jsxs("div", { className: 'relative z-10 h-full flex flex-col justify-center px-24', children: [_jsxs("div", { className: 'mb-12 animate-slide-up', children: [_jsx("div", { className: 'w-32 h-2 bg-white mb-12' }), _jsx("h1", { className: "text-5xl font-bold tracking-tight mb-8 leading-tight font-['Barlow_Condensed']", children: t('weather.header', language) }), _jsx("h2", { className: 'text-3xl font-light opacity-90 leading-relaxed', children: t(`region.${weatherData.region}`, language) })] }), _jsx("div", { className: 'grid grid-cols-2 gap-8 animate-slide-up', children: weatherData.cities.map((city, index) => {
|
|
87
87
|
const temp = displayUnit === 'celsius' ? fahrenheitToCelsius(city.temp) : city.temp;
|
|
88
88
|
const high = displayUnit === 'celsius' ? fahrenheitToCelsius(city.high) : city.high;
|
|
89
89
|
const low = displayUnit === 'celsius' ? fahrenheitToCelsius(city.low) : city.low;
|
|
90
|
-
return (_jsxs("div", { className: 'flex items-center space-x-6 p-6 bg-white/10 backdrop-blur-sm rounded-lg', style: { animationDelay: `${index * 0.1}s` }, children: [_jsx("div", { className: 'shrink-0', children: getWeatherIcon(city.condition, 48) }), _jsxs("div", { className: 'flex-1', children: [_jsx("h3", { className: "text-3xl font-bold mb-2 font-['
|
|
90
|
+
return (_jsxs("div", { className: 'flex items-center space-x-6 p-6 bg-white/10 backdrop-blur-sm rounded-lg', style: { animationDelay: `${index * 0.1}s` }, children: [_jsx("div", { className: 'shrink-0', children: getWeatherIcon(city.condition, 48) }), _jsxs("div", { className: 'flex-1', children: [_jsx("h3", { className: "text-3xl font-bold mb-2 font-['Barlow_Condensed']", children: city.name }), _jsxs("span", { className: "text-5xl font-bold transition-opacity duration-300 font-['Barlow_Condensed']", style: { opacity: isTransitioning ? 0 : 1 }, children: [temp, unitLabel] })] }), _jsxs("div", { className: 'flex flex-col items-end space-y-1', children: [_jsxs("span", { className: 'text-2xl opacity-70 transition-opacity duration-300', style: { opacity: isTransitioning ? 0 : 0.7 }, children: [t('weather.high', language), " ", high, unitLabel] }), _jsxs("span", { className: 'text-2xl opacity-70 transition-opacity duration-300', style: { opacity: isTransitioning ? 0 : 0.7 }, children: [t('weather.low', language), " ", low, unitLabel] })] })] }, city.name));
|
|
91
91
|
}) }), _jsx("div", { className: 'absolute bottom-24 left-24 right-24 h-1 bg-white/30', children: _jsx("div", { className: 'h-full bg-white transition-all duration-100 ease-linear', style: { width: `${progress}%` } }) })] })] }));
|
|
92
92
|
}
|
|
93
93
|
function WeatherLoadingSlide({ language }) {
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|