// ─────────────────────────────────────────────────────────────
//  Home media content layer (videocast + podcast items)
//  Mock/seed data. Replaced at runtime by bootstrapMedia() which
//  reuses the EXISTING articles API (type='video' / type='podcast').
//  No dedicated table — see articleToVideo / articleToPodcast below.
// ─────────────────────────────────────────────────────────────

export interface MediaLangText {
  title: string;
  guest: string;
  body: string;
}

export interface VideoItem {
  id: number | string;
  fa: MediaLangText;
  en: MediaLangText;
  ep: string;
  duration: string;
  date: string;
  thumb: string;
  mediaUrl?: string;
}

export interface PodcastItem {
  id: number | string;
  epNum: string;
  date: string;
  rating: string;
  duration: string;
  cover: string;
  fa: MediaLangText & { ep: string };
  en: MediaLangText & { ep: string };
  mediaUrl?: string;
}

export const videos: VideoItem[] = [
  {
    id: 1,
    fa: { title: 'نگاهی به آن سوی مرزهای تولید', guest: 'مهندس سیامک فجری',
      body: 'فراتر از داده‌های خام قیمت و تناژ، به سراغ مهندسی تغییر و معماری آینده صنعت می‌رویم.' },
    en: { title: 'Beyond the Frontiers of Production', guest: 'Eng. Siamak Fajri',
      body: 'Going beyond raw price and tonnage data to the engineering of change.' },
    ep: 'EP.12', duration: '۴۲ دقیقه', date: '۲۵ خرداد ۱۴۰۵', thumb: '/news/photo-1504307651254-35680f356dfd.jpg',
  },
  {
    id: 2,
    fa: { title: 'تحلیل بازار جهانی فلزات پایه', guest: 'دکتر نیلوفر احمدی',
      body: 'نوسانات قیمت مس، آلومینیوم و روی و تأثیر آن بر زنجیره ارزش فولاد.' },
    en: { title: 'Global Base Metals Analysis', guest: 'Dr. Niloofar Ahmadi',
      body: 'Price volatility in copper, aluminum and zinc and its steel-chain impact.' },
    ep: 'EP.11', duration: '۳۸ دقیقه', date: '۱۸ خرداد ۱۴۰۵', thumb: '/news/photo-1558618666-fcd25c85cd64.jpg',
  },
  {
    id: 3,
    fa: { title: 'ژئوپلیتیک و صادرات فولاد ایران', guest: 'مهندس فرید تهرانی',
      body: 'تأثیر تحولات منطقه‌ای بر بازارهای صادراتی فولاد ایران و فرصت‌های پیش رو.' },
    en: { title: 'Geopolitics & Iran Steel Exports', guest: 'Eng. Farid Tehrani',
      body: 'How regional developments shape Iran\'s steel export markets and opportunities ahead.' },
    ep: 'EP.10', duration: '۵۱ دقیقه', date: '۱۱ خرداد ۱۴۰۵', thumb: '/news/photo-1504328345606-18bbc8c9d7d1.jpg',
  },
  {
    id: 4,
    fa: { title: 'سرمایه‌گذاری در زنجیره ارزش فولاد', guest: 'دکتر آرش کریمی',
      body: 'فرصت‌ها و چالش‌های سرمایه‌گذاری در بخش‌های مختلف زنجیره ارزش فولاد.' },
    en: { title: 'Investing in the Steel Value Chain', guest: 'Dr. Arash Karimi',
      body: 'Opportunities and challenges across the steel value chain segments.' },
    ep: 'EP.09', duration: '۴۵ دقیقه', date: '۴ خرداد ۱۴۰۵', thumb: '/news/photo-1611273426858-450d8e3c9fce.jpg',
  },
  {
    id: 5,
    fa: { title: 'آینده فولاد سبز در ایران', guest: 'مهندس کاوه رستمی',
      body: 'مسیر گذار به فولاد کم‌کربن در ایران؛ چالش‌ها، فرصت‌ها و ضرورت سرمایه‌گذاری.' },
    en: { title: 'The Future of Green Steel in Iran', guest: 'Eng. Kaveh Rostami',
      body: 'The road to low-carbon steel in Iran: challenges, opportunities and investment needs.' },
    ep: 'EP.08', duration: '۳۶ دقیقه', date: '۲۸ اردیبهشت ۱۴۰۵', thumb: '/news/photo-1566873535350-6586b0b7a1f2.jpg',
  },
  {
    id: 6,
    fa: { title: 'هوش مصنوعی و تحول کارخانه‌های فولاد', guest: 'دکتر رضا محمدی',
      body: 'چگونه یادگیری ماشین کارایی خطوط تولید فولاد را متحول می‌کند.' },
    en: { title: 'AI and the Steel Plant Revolution', guest: 'Dr. Reza Mohammadi',
      body: 'How machine learning is transforming the efficiency of steel production lines.' },
    ep: 'EP.07', duration: '۴۹ دقیقه', date: '۲۱ اردیبهشت ۱۴۰۵', thumb: '/news/photo-1578662996442-48f60103fc96.jpg',
  },
]

export const podcasts: PodcastItem[] = [
  {
    id: 1,
    epNum: 'اپیزود ۷۷', date: '۲۵ / خرداد / ۱۴۰۵', rating: '۴.۸/۵', duration: '۵۶:۱۲', cover: '/news/photo-1540575467063-178a50c2df87.jpg',
    fa: { title: 'کالبدشکافی عقلانی پیچیدگی‌های صنعتی', ep: 'قسمت ۷۷', guest: 'مهندس سیامک شجاعی',
      body: 'صنعت فولاد در عصر حاضر، در پیچیده‌ترین چرخه حیات خود قرار گرفته است؛ جایی که همگرایی هوش مصنوعی، الزامات زیست‌محیطی و تنش‌های ژئواکونومیک، قواعد کلاسیک تولید و تجارت را به‌کلی بازنویسی کرده‌اند.' },
    en: { title: 'A Rational Dissection of Industrial Complexity', ep: 'Episode 77', guest: 'Eng. Siamak Shojaei',
      body: 'Steel today is in its most complex cycle yet — where AI, environmental mandates and geo-economic tension rewrite the classic rules of production and trade.' },
  },
  {
    id: 2,
    epNum: 'اپیزود ۷۶', date: '۱۸ / خرداد / ۱۴۰۵', rating: '۴.۶/۵', duration: '۱:۰۴:۳۳', cover: '/news/photo-1566873535350-6586b0b7a1f2.jpg',
    fa: { title: 'آزمایشگاه کوره؛ فناوری‌های نوین فولادسازی', ep: 'قسمت ۷۶', guest: 'دکتر رضا محمدی',
      body: 'در این اپیزود با نگاهی موشکافانه به چالش‌های فنی گذار از کوره‌های بلند به فولادسازی پاک می‌پردازیم.' },
    en: { title: 'The Foundry Lab: New Steelmaking Technologies', ep: 'Episode 76', guest: 'Dr. Reza Mohammadi',
      body: 'A meticulous look at the technical challenges of transitioning from blast furnaces to clean steelmaking.' },
  },
  {
    id: 3,
    epNum: 'اپیزود ۷۵', date: '۱۱ / خرداد / ۱۴۰۵', rating: '۴.۵/۵', duration: '۴۸:۵۷', cover: '/news/photo-1578662996442-48f60103fc96.jpg',
    fa: { title: 'معمار فولاد؛ رهبری در عصر تحول', ep: 'قسمت ۷۵', guest: 'مهندس کاوه رستمی',
      body: 'داستان ساختن فولاد فردا؛ روایت رهبرانی که مدل‌های سنتی کسب‌وکار را به چالش کشیده‌اند.' },
    en: { title: 'Steel Architect: Leadership in the Age of Change', ep: 'Episode 75', guest: 'Eng. Kaveh Rostami',
      body: 'The story of building tomorrow\'s steel — leaders challenging traditional business models.' },
  },
  {
    id: 4,
    epNum: 'اپیزود ۷۴', date: '۴ / خرداد / ۱۴۰۵', rating: '۴.۷/۵', duration: '۵۲:۱۸', cover: '/news/photo-1504328345606-18bbc8c9d7d1.jpg',
    fa: { title: 'فولاد سبز؛ رویا یا واقعیت؟', ep: 'قسمت ۷۴', guest: 'دکتر نیلوفر احمدی',
      body: 'بررسی مسیر دشوار و پرهزینه گذار به تولید فولاد با کمترین انتشار کربن و آنچه صنعت ایران باید بداند.' },
    en: { title: 'Green Steel: Dream or Reality?', ep: 'Episode 74', guest: 'Dr. Niloofar Ahmadi',
      body: 'Examining the costly and challenging road to near-zero carbon steel production and what Iranian industry must know.' },
  },
  {
    id: 5,
    epNum: 'اپیزود ۷۳', date: '۲۸ / اردیبهشت / ۱۴۰۵', rating: '۴.۴/۵', duration: '۱:۱۲:۴۴', cover: '/news/photo-1558618666-fcd25c85cd64.jpg',
    fa: { title: 'بازی بزرگ؛ چین، هند و آینده بازار فولاد', ep: 'قسمت ۷۳', guest: 'مهندس فرید تهرانی',
      body: 'چگونه رقابت دو غول آسیایی مسیر بازار جهانی فولاد را در دهه پیش رو تغییر خواهد داد.' },
    en: { title: 'The Great Game: China, India & the Future of Steel', ep: 'Episode 73', guest: 'Eng. Farid Tehrani',
      body: 'How competition between two Asian giants will reshape the global steel market in the decade ahead.' },
  },
  {
    id: 6,
    epNum: 'اپیزود ۷۲', date: '۲۱ / اردیبهشت / ۱۴۰۵', rating: '۴.۳/۵', duration: '۴۴:۰۲', cover: '/news/photo-1611273426858-450d8e3c9fce.jpg',
    fa: { title: 'هوش مصنوعی در خط تولید فولاد', ep: 'قسمت ۷۲', guest: 'دکتر آرش کریمی',
      body: 'کاربردهای عملی یادگیری ماشین در بهینه‌سازی فرآیند ذوب، کنترل کیفیت و نگهداری پیش‌گیرانه.' },
    en: { title: 'AI on the Steel Production Line', ep: 'Episode 72', guest: 'Dr. Arash Karimi',
      body: 'Practical applications of machine learning in melt optimization, quality control and predictive maintenance.' },
  },
]

// ── article → media item mappers ───────────────────────────────
// The articles API has no per-language fields, so we put the same
// title/summary in both fa/en and let the component pick by lang.
function articleToVideo(a: Record<string, unknown>, i: number): VideoItem {
  const title = String(a.title ?? '')
  const guest = String(a.author ?? '')
  const body = String(a.summary ?? '')
  return {
    id: String(a.id ?? i),
    fa: { title, guest, body },
    en: { title, guest, body },
    ep: `EP.${i + 1}`,
    duration: '',
    date: String(a.publishDate ?? ''),
    thumb: String(a.coverImage ?? '') || '/news/photo-1504307651254-35680f356dfd.jpg',
    mediaUrl: String(a.body ?? ''), // panel stores the media URL in the article body field
  }
}

function articleToPodcast(a: Record<string, unknown>, i: number): PodcastItem {
  const title = String(a.title ?? '')
  const guest = String(a.author ?? '')
  const body = String(a.summary ?? '')
  const ep = `قسمت ${i + 1}`
  return {
    id: String(a.id ?? i),
    epNum: `اپیزود ${i + 1}`,
    date: String(a.publishDate ?? ''),
    rating: '۵/۵',
    duration: '',
    cover: String(a.coverImage ?? '') || '/news/photo-1540575467063-178a50c2df87.jpg',
    fa: { title, guest, body, ep },
    en: { title, guest, body, ep },
    mediaUrl: String(a.body ?? ''), // panel stores the media URL in the article body field
  }
}

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

export async function bootstrapMedia(): Promise<void> {
  try {
    const [videoRes, podRes] = await Promise.all([
      fetch(`${PANEL_API}/api/articles?type=video&limit=50`),
      fetch(`${PANEL_API}/api/articles?type=podcast&limit=50`),
    ])

    if (videoRes.ok) {
      const fetched = await videoRes.json()
      if (Array.isArray(fetched) && fetched.length > 0) {
        videos.length = 0
        videos.push(...fetched.map((a: Record<string, unknown>, i: number) => articleToVideo(a, i)))
      }
    }

    if (podRes.ok) {
      const fetched = await podRes.json()
      if (Array.isArray(fetched) && fetched.length > 0) {
        podcasts.length = 0
        podcasts.push(...fetched.map((a: Record<string, unknown>, i: number) => articleToPodcast(a, i)))
      }
    }
  } catch { /* panel offline → keep static fallback */ }
}
