style: clean up Technogen card typography, remove dense subtitle blocks and harmonize heights

This commit is contained in:
alireza 2026-08-25 16:13:25 +03:30
parent c2147d3b8c
commit dc7e60cdd5
2 changed files with 18 additions and 31 deletions

View File

@ -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: 'مرداد ۱۴۰۵',

View File

@ -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)',
}} }}
> >