// popup.js - 修正版

const startBtn = document.getElementById('startBtn');
const statusEl = document.getElementById('status');

function setStatus(msg, type = '') {
  statusEl.textContent = msg;
  statusEl.className = type;
}

startBtn.addEventListener('click', async () => {
  startBtn.disabled = true;
  setStatus('現在のタブを確認中...');

  try {
    const [tab] = await chrome.tabs.query({ active: true, currentWindow: true });

    if (!tab || !tab.url) {
      setStatus('タブの取得に失敗しました。', 'err');
      startBtn.disabled = false;
      return;
    }

    if (!/\/mod\/assign\/view\.php/.test(tab.url)) {
      setStatus('Moodleの課題画面ではありません。評価したい特定の課題の画面を開いてください。', 'err');
      startBtn.disabled = false;
      return;
    }

    setStatus('Moodleページで処理を開始します...');

    // 即時応答が返ってくるはず
    const response = await chrome.runtime.sendMessage({
      type: 'START_FLOW',
      tabId: tab.id
    });

    if (response && response.ok) {
      setStatus('処理を開始しました。\nダウンロードが始まるのを待っています。\nこのポップアップは閉じても構いません。', 'ok');
    } else {
      setStatus('開始に失敗: ' + (response?.error || '不明なエラー'), 'err');
      startBtn.disabled = false;
    }
  } catch (e) {
    setStatus('例外: ' + e.message, 'err');
    startBtn.disabled = false;
  }
});
