style: clean up Technogen card typography, remove dense subtitle blocks and harmonize heights
This commit is contained in:
parent
c2147d3b8c
commit
dc7e60cdd5
|
|
@ -67,8 +67,8 @@ export const FALLBACK_TECHNOGEN_REPORTS: TechnogenReport[] = [
|
||||||
code: 'TGN-AN-02',
|
code: 'TGN-AN-02',
|
||||||
tagFa: 'یادداشت تحلیلی',
|
tagFa: 'یادداشت تحلیلی',
|
||||||
tagEn: 'Analytical Note',
|
tagEn: 'Analytical Note',
|
||||||
titleFa: 'رشد بدون توسعه؛ چرا صنعتیشدن بدون فناورشدن به سقف میخورد؟',
|
titleFa: 'رشد بدون توسعه؛ چرا صنعتیشدن به سقف میخورد؟',
|
||||||
titleEn: 'Growth Without Development: Why Industrialization Without Technology Hits a Ceiling',
|
titleEn: 'Growth Without Development: Why Industrialization Hits a Ceiling',
|
||||||
subtitleFa: 'بهرهوری سقف دارد؛ فناوری ندارد. چرا انباشت قابلیت فناورانه، شرط عبور از سقف رشد صنعتی است.',
|
subtitleFa: 'بهرهوری سقف دارد؛ فناوری ندارد. چرا انباشت قابلیت فناورانه، شرط عبور از سقف رشد صنعتی است.',
|
||||||
subtitleEn: 'Productivity has a ceiling; technology does not. Why technological capability accumulation is essential for surpassing industrial growth limits.',
|
subtitleEn: 'Productivity has a ceiling; technology does not. Why technological capability accumulation is essential for surpassing industrial growth limits.',
|
||||||
descriptionFa: 'بررسی منحنیهای مرز کارایی و تحلیل تفاوت بنیادی میان بهینهسازی عملیاتی موجود و جابهجایی مرز فناوری از طریق خلق دانش فنی.',
|
descriptionFa: 'بررسی منحنیهای مرز کارایی و تحلیل تفاوت بنیادی میان بهینهسازی عملیاتی موجود و جابهجایی مرز فناوری از طریق خلق دانش فنی.',
|
||||||
|
|
@ -87,10 +87,10 @@ export const FALLBACK_TECHNOGEN_REPORTS: TechnogenReport[] = [
|
||||||
code: 'TGN-AN-03',
|
code: 'TGN-AN-03',
|
||||||
tagFa: 'یادداشت تحلیلی',
|
tagFa: 'یادداشت تحلیلی',
|
||||||
tagEn: 'Analytical Note',
|
tagEn: 'Analytical Note',
|
||||||
titleFa: 'توسعهگر فناوری یا مصرفکنندهٔ دائمی؟ انتخابی که بنگاههای بزرگ باید امروز بکنند',
|
titleFa: 'توسعهگر فناوری یا مصرفکنندهٔ دائمی؟',
|
||||||
titleEn: 'Technology Developer or Perpetual Consumer? The Critical Choice for Large Enterprises Today',
|
titleEn: 'Technology Developer or Perpetual Consumer?',
|
||||||
subtitleFa: 'درسهای جهش و میانبر فناورانه از بنگاههای بزرگ کشورهای در حال توسعه؛ از پوسکو و امبرائر تا سیمکس و بائواستیل',
|
subtitleFa: 'انتخابی که بنگاههای بزرگ باید امروز بکنند؛ درسهای جهش فناورانه',
|
||||||
subtitleEn: 'Technological leapfrogging lessons from large emerging-market enterprises: from POSCO and Embraer to CEMEX and Baosteel.',
|
subtitleEn: 'The critical choice large enterprises must make today: lessons in technological leapfrogging.',
|
||||||
descriptionFa: 'تفاوت در مقصد سرمایهگذاری: یکی برای «داشتن» فناوری خرج میکند و دیگری برای «توانستن» — یعنی جذب، تغییر، طراحی و بازآفرینی فناوری.',
|
descriptionFa: 'تفاوت در مقصد سرمایهگذاری: یکی برای «داشتن» فناوری خرج میکند و دیگری برای «توانستن» — یعنی جذب، تغییر، طراحی و بازآفرینی فناوری.',
|
||||||
descriptionEn: 'The difference in investment purpose: spending to acquire technology versus spending to build the capability to absorb, modify, design, and recreate it.',
|
descriptionEn: 'The difference in investment purpose: spending to acquire technology versus spending to build the capability to absorb, modify, design, and recreate it.',
|
||||||
dateFa: 'مرداد ۱۴۰۵',
|
dateFa: 'مرداد ۱۴۰۵',
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,7 @@ export default function TechnogenSection() {
|
||||||
}
|
}
|
||||||
.technogen-card-glow:hover {
|
.technogen-card-glow:hover {
|
||||||
animation: none;
|
animation: none;
|
||||||
border-color: rgba(205, 158, 83, 0.9) !important;
|
border-color: rgba(205, 158, 83, 0.95) !important;
|
||||||
box-shadow: 0 20px 42px -10px rgba(0, 0, 0, 0.75), 0 0 32px 5px rgba(205, 158, 83, 0.55) !important;
|
box-shadow: 0 20px 42px -10px rgba(0, 0, 0, 0.75), 0 0 32px 5px rgba(205, 158, 83, 0.55) !important;
|
||||||
transform: translateY(-6px) scale(1.015);
|
transform: translateY(-6px) scale(1.015);
|
||||||
}
|
}
|
||||||
|
|
@ -216,7 +216,7 @@ export default function TechnogenSection() {
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* ── 5-Card Row / Slider Strip (No Labels, Breathing Border Animation) ── */}
|
{/* ── 5-Card Row / Slider Strip (Clean Typography, Breathing Border Glow) ── */}
|
||||||
<AnimatePresence mode="wait" custom={direction}>
|
<AnimatePresence mode="wait" custom={direction}>
|
||||||
<motion.div
|
<motion.div
|
||||||
key={page}
|
key={page}
|
||||||
|
|
@ -253,7 +253,7 @@ export default function TechnogenSection() {
|
||||||
animationDelay: `${idx * 0.7}s`,
|
animationDelay: `${idx * 0.7}s`,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{/* Top Cover Image (Clean, No Labels) */}
|
{/* Top Cover Image */}
|
||||||
<div
|
<div
|
||||||
onClick={() => openPreview(report)}
|
onClick={() => openPreview(report)}
|
||||||
style={{
|
style={{
|
||||||
|
|
@ -282,7 +282,7 @@ export default function TechnogenSection() {
|
||||||
{/* Card Content Body */}
|
{/* Card Content Body */}
|
||||||
<div
|
<div
|
||||||
style={{
|
style={{
|
||||||
padding: '14px 16px 12px',
|
padding: '16px 18px 14px',
|
||||||
display: 'flex',
|
display: 'flex',
|
||||||
flexDirection: 'column',
|
flexDirection: 'column',
|
||||||
flexGrow: 1,
|
flexGrow: 1,
|
||||||
|
|
@ -292,34 +292,21 @@ export default function TechnogenSection() {
|
||||||
<h3
|
<h3
|
||||||
onClick={() => openPreview(report)}
|
onClick={() => openPreview(report)}
|
||||||
style={{
|
style={{
|
||||||
fontSize: 14,
|
fontSize: 15,
|
||||||
fontWeight: 900,
|
fontWeight: 900,
|
||||||
color: '#FFFFFF',
|
color: '#FFFFFF',
|
||||||
lineHeight: 1.45,
|
lineHeight: 1.5,
|
||||||
margin: '0 0 8px',
|
margin: 0,
|
||||||
cursor: 'pointer',
|
cursor: 'pointer',
|
||||||
|
minHeight: 48,
|
||||||
|
display: 'flex',
|
||||||
|
alignItems: 'center',
|
||||||
}}
|
}}
|
||||||
|
title={isFa ? report.titleFa : (report.titleEn || report.titleFa)}
|
||||||
>
|
>
|
||||||
{isFa ? report.titleFa : (report.titleEn || report.titleFa)}
|
{isFa ? report.titleFa : (report.titleEn || report.titleFa)}
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
{report.subtitleFa && (
|
|
||||||
<p
|
|
||||||
style={{
|
|
||||||
fontSize: 11,
|
|
||||||
lineHeight: 1.55,
|
|
||||||
color: 'rgba(255,255,255,0.65)',
|
|
||||||
margin: '0 0 12px',
|
|
||||||
display: '-webkit-box',
|
|
||||||
WebkitLineClamp: 2,
|
|
||||||
WebkitBoxOrient: 'vertical',
|
|
||||||
overflow: 'hidden',
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
{isFa ? report.subtitleFa : (report.subtitleEn || report.subtitleFa)}
|
|
||||||
</p>
|
|
||||||
)}
|
|
||||||
|
|
||||||
{/* Bottom Action Buttons */}
|
{/* Bottom Action Buttons */}
|
||||||
<div
|
<div
|
||||||
style={{
|
style={{
|
||||||
|
|
@ -328,7 +315,7 @@ export default function TechnogenSection() {
|
||||||
alignItems: 'center',
|
alignItems: 'center',
|
||||||
justifyContent: 'space-between',
|
justifyContent: 'space-between',
|
||||||
gap: 8,
|
gap: 8,
|
||||||
paddingTop: 10,
|
paddingTop: 14,
|
||||||
borderTop: '1px solid rgba(255,255,255,0.08)',
|
borderTop: '1px solid rgba(255,255,255,0.08)',
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue