// seed-articles-page11.js — تتمة حرف النون + حروف الهاء والواو (نهاية فهرس الموضوعات، PDF رقم 11)

import db from '../db.js';

const volumeId = parseInt(process.argv[2] || '1', 10);

const NEW_AUTHORS = [
  { display_name: 'فضيلة الأستاذ الشيخ محمد محيي الدين', role_title: 'كاتب' },
  { display_name: 'حضرة الفاضل محمد كيلانى سالم', role_title: 'كاتب' },
];

function normalize(s) {
  return s.replace(/[إأآا]/g, 'ا').replace(/ى/g, 'ي').replace(/ة/g, 'ه').replace(/\s+/g, ' ').trim();
}

function upsertAuthor({ display_name, role_title }) {
  const existing = db.prepare(`SELECT id FROM authors WHERE display_name = ?`).get(display_name);
  if (existing) return existing.id;
  const result = db.prepare(`
    INSERT INTO authors (display_name, normalized_name, role_title) VALUES (?, ?, ?)
  `).run(display_name, normalize(display_name), role_title);
  return Number(result.lastInsertRowid);
}

for (const a of NEW_AUTHORS) upsertAuthor(a);

function getAuthorId(name) {
  if (!name) return null;
  const row = db.prepare(`SELECT id FROM authors WHERE display_name = ?`).get(name);
  return row ? row.id : null;
}

const articlesData = [
  // تتمة حرف النون (الجزء الأول ظهر فى أسفل صفحة 10: نبوته، نشأة الحروف الابجدية)
  ['النشاط الاقتصادى', 'قلم الترجمة', 461, null, 'ن', 3],
  ['النفاق وعلاماته ومضاره', 'فضيلة الأستاذ الشيخ حسن منصور', 339, null, 'ن', 4],
  ['نقد', 'فضيلة الأستاذ الشيخ محمد محيي الدين', 319, null, 'ن', 5],
  ['نقد', 'حضرة الفاضل محمد كيلانى سالم', 400, null, 'ن', 6],
  ['نموذج من نقد الشعر', 'فضيلة الأستاذ رئيس التحرير', 685, null, 'ن', 7],

  // حرف الهاء
  ['الهجرة النبوية', 'فضيلة الأستاذ الشيخ إبراهيم الجبالي', 54, null, 'هـ', 1],
  ['هدية نفيسة', null, 640, null, 'هـ', 2],

  // حرف الواو
  ['الوراثة', 'قلم الترجمة', 468, null, 'و', 1],
];

const insertArticle = db.prepare(`
  INSERT INTO articles (volume_id, title, author_id, start_page, end_page, toc_letter, toc_order)
  VALUES (?, ?, ?, ?, ?, ?, ?)
`);

let count = 0;
for (const [title, authorName, startPage, endPage, letter, order] of articlesData) {
  const authorId = getAuthorId(authorName);
  insertArticle.run(volumeId, title, authorId, startPage, endPage, letter, order);
  count++;
}

console.log(`✅ تم إدخال ${count} مقالًا (تتمة ن + حروف هـ، و) للمجلد رقم ${volumeId}`);
console.log('🏁 اكتمل استخراج فهرس الموضوعات بالكامل (حروف أ-و)');
