diff --git a/index.html b/index.html index 281598c..8043cd7 100644 --- a/index.html +++ b/index.html @@ -10,7 +10,7 @@ - اندیشکده فولاد آینده — تحلیل راهبردی صنعت فولاد + اندیشکده فولاد آینده
diff --git a/src/app/layout/Footer.tsx b/src/app/layout/Footer.tsx index 44a9d08..a23d8d7 100644 --- a/src/app/layout/Footer.tsx +++ b/src/app/layout/Footer.tsx @@ -1,47 +1,30 @@ import { useState } from 'react' -function SocialIcon({ label }: { label: string }) { +function SocialIcon({ label, name, href }: { label: string; name: string; href: string }) { const [hovered, setHovered] = useState(false) return ( -
setHovered(true)} onMouseLeave={() => setHovered(false)} style={{ - width: 32, height: 32, + width: 36, height: 36, borderRadius: 8, border: `1px solid ${hovered ? 'rgba(255,255,255,0.4)' : 'rgba(255,255,255,0.15)'}`, + background: hovered ? 'rgba(255,255,255,0.08)' : 'transparent', display: 'flex', alignItems: 'center', justifyContent: 'center', - fontSize: 11, fontWeight: 700, - color: hovered ? '#fff' : 'rgba(255,255,255,0.45)', - cursor: 'pointer', transition: 'border-color 150ms, color 150ms', flexShrink: 0, - }} - >{label}
- ) -} - -function FooterLink({ href, label }: { href: string; label: string }) { - const [hovered, setHovered] = useState(false) - return ( - setHovered(true)} - onMouseLeave={() => setHovered(false)} - style={{ - fontSize: 14, - color: hovered ? '#fff' : 'rgba(255,255,255,0.6)', - textDecoration: 'none', - cursor: 'pointer', - transition: 'color 150ms', - display: 'block', - padding: '4px 0', + fontSize: 11, fontWeight: 700, textDecoration: 'none', + color: hovered ? '#fff' : 'rgba(255,255,255,0.5)', + cursor: 'pointer', transition: 'all 150ms', flexShrink: 0, }} >{label} ) } -const FOOTER_LINKS = [ - { label: 'درباره ما', href: '#' }, - { label: 'همکاری با ما', href: '#' }, - { label: 'تماس با ما', href: '#' }, +const SOCIALS = [ + { label: 'in', name: 'لینکدین', href: '#' }, + { label: 'X', name: 'توییتر', href: '#' }, + { label: 'آپ', name: 'آپارات', href: '#' }, + { label: 'tg', name: 'تلگرام', href: '#' }, ] function NewsletterBox() { @@ -96,35 +79,35 @@ export function Footer() { {/* Brand */}
-
+
اندیشکده فولاد آینده
- FUTURE STEEL POLICY INSTITUTE + The Steel Futures Institute
-
- - - - +

+ فضایی همدلانه برای اندیشیدن به فردای صنعت؛ جایی که دانش، آینده‌پژوهی و نوآوری به بینش‌هایی برای توسعه صنعتی تبدیل می‌شوند. +

+
+ {SOCIALS.map(s => ( + + ))}
- {/* Links + newsletter */} - + {/* Newsletter */} +
+ +
diff --git a/src/app/layout/Header.tsx b/src/app/layout/Header.tsx index c8b92d4..2513c44 100644 --- a/src/app/layout/Header.tsx +++ b/src/app/layout/Header.tsx @@ -230,7 +230,7 @@ export default function Header() { - FUTURE STEEL POLICY INSTITUTE + The Steel Futures Institute diff --git a/src/pages/Home/Home.tsx b/src/pages/Home/Home.tsx index c206bd1..f4d4962 100644 --- a/src/pages/Home/Home.tsx +++ b/src/pages/Home/Home.tsx @@ -1,13 +1,12 @@ -import HeroSection from './sections/HeroSection' import SpreadFeatures from './sections/SpreadFeatures' import IntegrationsSection from './sections/IntegrationsSection' -import InternalNewsSection from './sections/InternalNewsSection' +// import InternalNewsSection from './sections/InternalNewsSection' // «تازه‌ترین اخبار صنعت» — disabled, restore anytime import RadarTechSection from './sections/RadarTechSection' import MapEventsSection from './sections/MapEventsSection' import FactoryReportsScroll from './sections/FactoryReportsScroll' import NewsletterMarquee from './sections/NewsletterMarquee' import VideocastPodcastSection from './sections/VideocastPodcastSection' -import RiskSection from './sections/RiskSection' +// import RiskSection from './sections/RiskSection' // «نقشه ریسک صنعت» — disabled, restore anytime import { useLang } from '@/context/LangContext' /* ─── Home page ──────────────────────────────────────── */ @@ -15,16 +14,16 @@ export default function Home() { const { lang } = useLang() return (
- - + {/* «تازه‌ترین اخبار صنعت» — disabled, restore anytime */} + - - - + + + {/* «نقشه ریسک صنعت» — disabled, restore anytime */}
) } diff --git a/src/pages/Home/sections/FactoryReportsScroll.tsx b/src/pages/Home/sections/FactoryReportsScroll.tsx index c620e82..6329848 100644 --- a/src/pages/Home/sections/FactoryReportsScroll.tsx +++ b/src/pages/Home/sections/FactoryReportsScroll.tsx @@ -63,27 +63,27 @@ function ReportCard({ r, lang }: { r: FactoryReport; lang: 'fa' | 'en' }) { export default function FactoryReportsScroll() { const { lang } = useLang() const m = FACTORY_REPORTS_META[lang] + const reports = FACTORY_REPORTS.slice(0, 4) // compact: just the latest 4 return ( -
+
- {/* heading */} - -
{m.overline}
-

{m.heading}

-

{m.sub}

-
+ {/* compact heading row — title on the start side, "view all" on the end */} +
+
+
{m.overline}
+

{m.heading}

+
+ + {m.cta} + + +
- {/* 3-column masonry; cards slide in from left / up / right */} -
- {FACTORY_REPORTS.map((r) => ( + {/* compact 4-up row */} +
+ {reports.map((r) => ( diff --git a/src/pages/Home/sections/VideocastPodcastSection.tsx b/src/pages/Home/sections/VideocastPodcastSection.tsx index 3a66ec7..5f16788 100644 --- a/src/pages/Home/sections/VideocastPodcastSection.tsx +++ b/src/pages/Home/sections/VideocastPodcastSection.tsx @@ -62,19 +62,25 @@ const T = { }, } -export default function VideocastPodcastSection() { +export default function VideocastPodcastSection({ only }: { only?: 'video' | 'pod' }) { const { lang } = useLang() const t = T[lang] const [activeVideo, setActiveVideo] = useState(0) const [activePod, setActivePod] = useState(0) const pod = PODCASTS[activePod] + const showVideo = only !== 'pod' + const showPod = only !== 'video' + // when split into one column, give it full width instead of 60/40 + const gridCols = only ? '1fr' : '60% 40%' + return (
-
+
{/* ── VIDEOCAST 70% ── */} + {showVideo && (
{/* heading */} @@ -139,8 +145,10 @@ export default function VideocastPodcastSection() { ))}
+ )} {/* ── PODCAST 30% ── */} + {showPod && (
{/* heading */} @@ -215,6 +223,7 @@ export default function VideocastPodcastSection() { {t.listenAll}
+ )}