document.getElementById('cards').addEventListener('click', async (event) => { const button = event.target.closest('button[data-action]'); if (!button) return; const { action, composeId } = button.dataset; if (action === 'logs') { const res = await fetch(`/api/compose/${composeId}/logs`); if (!res.ok) { alert(`ログ取得に失敗しました (status: ${res.status})`); return; } const data = await res.json(); alert(data.logs || 'ログなし'); return; } const res = await fetch(`/api/compose/${composeId}/${action}`, { method: 'POST' }); if (res.ok) { alert(`${action} を実行しました`); } else { alert(`${action} に失敗しました (status: ${res.status})`); } });