/* ─────────────────────────────────────────────────────────────
   Factory monthly analysis reports (ماهنامه تحلیل کارخانه).
   Separate from the component so it can be fed from the panel/API
   later (replace FACTORY_REPORTS with a fetch to the same shape).
   `dir` controls the scroll-in direction: 'left' | 'right' | 'up'.
   ───────────────────────────────────────────────────────────── */

export type ScrollDir = 'left' | 'right' | 'up'

export type FactoryReport = {
  id: string
  img: string
  dir: ScrollDir
  fa: { tag: string; title: string; date: string; excerpt: string }
  en: { tag: string; title: string; date: string; excerpt: string }
}

export const FACTORY_REPORTS: FactoryReport[] = [
  {
    id: 'msc-55',
    img: 'https://www.msc.ir/_DouranPortal/Album/Articles/%DB%B5%DB%B5_14050314_083241.jpg',
    dir: 'left',
    fa: { tag: 'ماهنامه تحلیلی کارخانه', title: 'ماهنامه تحلیلی کارخانه — شماره ۵۵', date: 'خرداد ۱۴۰۵', excerpt: 'راهبرد یکپارچه چگونه انسجام راهبردی و مزیت رقابتی پایدار فولاد مبارکه را تضمین می‌کند؟ هم‌افزایی شش محور استراتژیک، تبدیل ثروت معدنی به قدرت صنعتی، و دوام مزیت‌های نسبی فولاد ایران زیر فشار ناترازی انرژی.' },
    en: { tag: 'Factory Analysis', title: 'Factory Analysis Monthly — No. 55', date: 'May 2026', excerpt: 'Integrated strategy, synergy of six strategic axes, turning mineral wealth into industrial power, and the resilience of Iran\'s steel advantages under energy imbalance.' },
  },
  {
    id: 'msc-54',
    img: 'https://www.msc.ir/_DouranPortal/Album/Articles/;hvohki%2054_14050323_095959.jpg',
    dir: 'right',
    fa: { tag: 'ماهنامه تحلیلی کارخانه', title: 'ماهنامه تحلیلی کارخانه — شماره ۵۴', date: 'مهر ۱۴۰۴', excerpt: 'شماره ۵۴ ماهنامه تحلیلی راهبردی کارخانه فولاد مبارکه؛ بررسی عملکرد، نوآوری و چشم‌انداز بازار فولاد.' },
    en: { tag: 'Factory Analysis', title: 'Factory Analysis Monthly — No. 54', date: 'Oct 2025', excerpt: 'Issue No. 54 of Mobarakeh Steel\'s strategic factory analysis monthly.' },
  },
  {
    id: 'msc-53',
    img: 'https://www.msc.ir/_DouranPortal/Album/Articles/01_20250921_103454.jpg',
    dir: 'up',
    fa: { tag: 'ماهنامه تحلیلی کارخانه', title: 'ماهنامه تحلیلی کارخانه — شماره ۵۳', date: 'شهریور ۱۴۰۴', excerpt: 'عبور از ملاحظات؛ آیا زمان جراحی نهادی برای تحقق توسعه پایدار صنایع معدنی فرا رسیده است؟' },
    en: { tag: 'Factory Analysis', title: 'Factory Analysis Monthly — No. 53', date: 'Sep 2025', excerpt: 'Beyond considerations: has the time come for institutional surgery to achieve sustainable development of the mining industries?' },
  },
]

export const FACTORY_REPORTS_META = {
  fa: { overline: 'MOBARAKEH STEEL', heading: 'ماهنامه تحلیلی کارخانه', sub: 'گزارش‌های تحلیلی ماهانه عملکرد، بازار، فناوری و پایداری صنعت فولاد.', cta: 'دریافت گزارش' },
  en: { overline: 'MOBARAKEH STEEL', heading: 'Monthly Industry Report', sub: 'Monthly analytical reports on performance, market, technology and sustainability.', cta: 'Get report' },
}

const PANEL_API =
  (import.meta as ImportMeta & { env?: Record<string, string> }).env?.VITE_PANEL_API ||
  ''

const SCROLL_DIRS: ScrollDir[] = ['left', 'right', 'up']
const asDir = (v: unknown): ScrollDir =>
  SCROLL_DIRS.includes(v as ScrollDir) ? (v as ScrollDir) : 'up'

export async function bootstrapFactoryReports(): Promise<void> {
  try {
    const res = await fetch(`${PANEL_API}/api/factory-reports?limit=50`)
    if (!res.ok) return
    const fetched = await res.json()
    if (!Array.isArray(fetched) || fetched.length === 0) return
    FACTORY_REPORTS.length = 0
    FACTORY_REPORTS.push(
      ...fetched.map((r: Record<string, unknown>) => ({
        id: String(r.id),
        img: String(r.img ?? ''),
        dir: asDir(r.scrollDir),
        fa: {
          tag: String(r.tagFa ?? ''),
          title: String(r.titleFa ?? ''),
          date: String(r.dateFa ?? ''),
          excerpt: String(r.excerptFa ?? ''),
        },
        en: {
          tag: String(r.tagEn ?? ''),
          title: String(r.titleEn ?? ''),
          date: String(r.dateEn ?? ''),
          excerpt: String(r.excerptEn ?? ''),
        },
      })),
    )
  } catch {
    /* panel offline → keep static fallback */
  }
}
