diff --git a/frontend/src/pages/Home/sections/TechnogenSection.tsx b/frontend/src/pages/Home/sections/TechnogenSection.tsx index ab1cd80..23e4ff9 100644 --- a/frontend/src/pages/Home/sections/TechnogenSection.tsx +++ b/frontend/src/pages/Home/sections/TechnogenSection.tsx @@ -1,6 +1,6 @@ import { useState, useEffect } from 'react' import { motion, AnimatePresence } from 'framer-motion' -import { Download, FileText, ExternalLink, Sparkles, X, Eye, BookOpen, Layers } from 'lucide-react' +import { Download, FileText, ExternalLink, X, Eye, BookOpen } from 'lucide-react' import { useLang } from '@/context/LangContext' import { FALLBACK_TECHNOGEN_REPORTS, type TechnogenReport } from '@/data/technogen' @@ -26,9 +26,7 @@ export default function TechnogenSection() { setReports(data) } }) - .catch(() => { - // use fallback reports seamlessly - }) + .catch(() => {}) return () => { unmounted = true } @@ -54,336 +52,217 @@ export default function TechnogenSection() { background: 'var(--paper)', borderTop: '1px solid var(--rule-thin)', borderBottom: '1px solid var(--rule-thin)', - padding: '72px 0 88px', + padding: '44px 0 52px', position: 'relative', overflow: 'hidden', }} > - {/* Background ambient lighting */} -
-
- -
- {/* ── Section Header ── */} -
- - + {/* ── Section Header with Gold Accent Line ── */} +
+
+
+

- - TECHNOGEN - - - {isFa ? 'برنامه توسعه‌گر ملی فناوری' : 'National Technology Developer Program'} - - - -
-
- - {isFa ? 'تکنوژن؛ برنامه توسعه‌گر ملی فناوری' : 'Technogen: National Technology Developer Program'} - - - {isFa - ? 'گزارش‌های تحلیلی و مطالعات تطبیقی یادگیری صنعتی، انتقال دانش و ساخت قابلیت فناورانه در زنجیره فولاد' - : 'Analytical notes and comparative studies on industrial learning, knowledge absorption, and technological capability building in steel.'} - -
+ {isFa ? 'تکنوژن؛ برنامه توسعه‌گر ملی فناوری' : 'Technogen: National Technology Developer Program'} +

-
- - {/* ── Flagship Featured Report (POSCO Study) ── */} - {featured && ( - - {/* Ambient decorative elements */} -
+ {isFa + ? 'گزارش‌های تحلیلی و مطالعات تطبیقی یادگیری صنعتی، انتقال دانش و ساخت قابلیت فناورانه در زنجیره فولاد' + : 'Analytical notes and comparative studies on industrial learning, knowledge absorption, and technological capability building in steel.'} +

+
-
+ {/* ── Bento Card 1: Flagship POSCO Study (Spans 7 columns) ── */} + {featured && ( + - {/* Cover Column */} + {/* Subtle background glow */}
+ + {/* Cover Thumbnail */} +
openPreview(featured)} + style={{ + width: 150, + aspectRatio: '1 / 1.414', + borderRadius: 10, + overflow: 'hidden', + boxShadow: '0 14px 28px -6px rgba(0,0,0,0.5)', + border: '1px solid rgba(255,255,255,0.15)', + cursor: 'pointer', + background: NAVY, + }} > {isFa -
- - - {isFa ? 'مشاهده گزارش' : 'Preview'} - -
- {/* Text / Info Column */} + {/* Info & Actions */}
- {/* Meta Badges */} + {/* Meta Pills */}
- {isFa ? 'مطالعه تطبیقی ویژه' : 'Flagship Case Study'} + {isFa ? 'مطالعه تطبیقی ویژه' : 'Flagship Study'} {featured.code && ( {featured.code} )} - + {isFa ? (featured.pagesFa || '۳۰ صفحه') : (featured.pagesEn || '30 Pages')} - - - {isFa ? (featured.dateFa || 'مرداد ۱۴۰۵') : (featured.dateEn || 'August 2026')} -
{/* Title */}

{isFa ? featured.titleFa : (featured.titleEn || featured.titleFa)}

- {/* Subtitle / Quote */} + {/* Subtitle / Excerpt */} {featured.subtitleFa && ( -
- {isFa ? featured.subtitleFa : (featured.subtitleEn || featured.subtitleFa)} -
- )} - - {/* Description */} - {featured.descriptionFa && (

- {isFa ? featured.descriptionFa : (featured.descriptionEn || featured.descriptionFa)} + {isFa ? featured.subtitleFa : (featured.subtitleEn || featured.subtitleFa)}

)} - {/* Action Buttons */} + {/* Actions */}
{featured.fileUrl && ( - - {isFa ? 'دانلود متن کامل گزارش (PDF)' : 'Download Full PDF (30 Pages)'} + + {isFa ? 'دانلود PDF کامل' : 'Download PDF'} )} @@ -417,104 +296,93 @@ export default function TechnogenSection() { style={{ display: 'inline-flex', alignItems: 'center', - gap: 8, + gap: 6, background: 'rgba(255,255,255,0.08)', - border: '1px solid rgba(255,255,255,0.2)', + border: '1px solid rgba(255,255,255,0.18)', color: '#fff', - fontSize: 13, + fontSize: 12, fontWeight: 700, - padding: '12px 20px', - borderRadius: 12, + padding: '9px 14px', + borderRadius: 8, cursor: 'pointer', - transition: 'all 0.2s ease', + transition: 'background 0.15s', }} className="hover:!bg-white/15" > - - {isFa ? 'مطالعه و ورق زدن آنلاین' : 'Read Online'} + + {isFa ? 'مشاهده آنلاین' : 'Read'}
-
-
- )} - - {/* ── Analytical Notes (3-Card Grid) ── */} -
-
-
- -

- {isFa ? 'یادداشت‌های تحلیلی تکنوژن' : 'Technogen Analytical Notes'} -

-
- - {isFa ? `${analyticalNotes.length} شماره منتشر شده` : `${analyticalNotes.length} Published Notes`} - -
+ + )} + {/* ── Bento Cards 2, 3, 4: Analytical Notes (Spans 5 columns) ── */}
{analyticalNotes.map((note, idx) => ( - - {/* Card Top / Cover & Tag */} + {/* Mini Cover Thumbnail */}
openPreview(note)} style={{ - position: 'relative', - background: `linear-gradient(135deg, ${NAVY} 0%, #0a2f52 100%)`, - padding: '24px 20px 20px', - display: 'flex', - flexDirection: 'column', - alignItems: 'center', + flex: '0 0 54px', + width: 54, + aspectRatio: '1 / 1.414', + borderRadius: 6, + overflow: 'hidden', + boxShadow: '0 4px 10px rgba(0,0,0,0.15)', + border: '1px solid rgba(3,35,64,0.1)', + background: NAVY, cursor: 'pointer', }} - onClick={() => openPreview(note)} > -
+ {isFa +
+ + {/* Content */} +
+
{note.code && ( {note.code} @@ -522,71 +390,35 @@ export default function TechnogenSection() { )} {isFa ? (note.tagFa || 'یادداشت تحلیلی') : (note.tagEn || 'Analytical Note')} -
- - {/* Thumbnail Cover Image */} -
- {isFa -
-
- - {/* Card Body */} -
-
- {isFa ? (note.dateFa || 'مرداد ۱۴۰۵') : (note.dateEn || 'August 2026')} - {isFa ? (note.pagesFa || '۴ صفحه') : (note.pagesEn || '4 Pages')} + + {isFa ? (note.pagesFa || '۴ صفحه') : (note.pagesEn || '4 Pages')} +

openPreview(note)} style={{ - fontSize: 16, - fontWeight: 900, + fontSize: 13, + fontWeight: 800, color: NAVY, - lineHeight: 1.45, - margin: '0 0 8px', - minHeight: 46, + lineHeight: 1.4, + margin: '0 0 2px', + cursor: 'pointer', + whiteSpace: 'nowrap', + overflow: 'hidden', + textOverflow: 'ellipsis', }} + title={isFa ? note.titleFa : (note.titleEn || note.titleFa)} > {isFa ? note.titleFa : (note.titleEn || note.titleFa)}

@@ -594,85 +426,69 @@ export default function TechnogenSection() { {note.subtitleFa && (

{isFa ? note.subtitleFa : (note.subtitleEn || note.subtitleFa)}

)} +
- {/* Actions */} -
- {note.fileUrl && ( - - - {isFa ? 'دانلود PDF' : 'Download'} - - )} - - -
+ + + )} + +
-
+ ))}