import { NpcDialog } from './NpcDialog.js';
import { syncNpcRollTables } from './npcRollTableSync.js';

const MODULE_ID = 'mgt2-compendium-amiral-denisov';

function openNpcDialog(initialTab, options = {}) {
  new NpcDialog({ initialTab, ...options }).render(true);
}

Hooks.once('init', () => {
  console.log(`${MODULE_ID} | Outils PNJ initialisés`);

  loadTemplates([
    `modules/${MODULE_ID}/templates/npc-dialog.hbs`,
    `modules/${MODULE_ID}/templates/npc-result.hbs`,
  ]);
});

Hooks.once('ready', async () => {
  await syncNpcRollTables();
  console.log(`${MODULE_ID} | Outils PNJ prêts – tapez /pnj, /rencontre ou /mission dans le chat`);
});

Hooks.on('chatMessage', (_chatLog, message, _chatData) => {
  const trimmed = message.trim().toLowerCase();

  if (trimmed === '/pnj' || trimmed.startsWith('/pnj ')) {
    openNpcDialog('npc');
    return false;
  }

  if (trimmed === '/rencontre' || trimmed.startsWith('/rencontre ')) {
    openNpcDialog('encounter');
    return false;
  }

  if (trimmed === '/mission' || trimmed.startsWith('/mission ')) {
    openNpcDialog('mission');
    return false;
  }
});
