diff --git a/js/mail.js b/js/mail.js index 81cdc49..f3d1898 100644 --- a/js/mail.js +++ b/js/mail.js @@ -78,6 +78,52 @@ function renderFiles() { }); } +// --- AI 분석 실행 --- +async function startAnalysis(index, event) { + if (event) event.stopPropagation(); + const file = currentFiles[index]; + if (!file) return; + + // UI 상태 업데이트: 분석 중 표시 + const logArea = document.getElementById(`log-area-${index}`); + const logContent = document.getElementById(`log-content-${index}`); + if (logArea) logArea.classList.add('active'); + if (logContent) { + logContent.innerHTML = `
+ + AI가 문서를 정밀 분석 중입니다... +
`; + } + + try { + const res = await fetch(`${API.ANALYZE_FILE}?filename=${encodeURIComponent(file.name)}`); + const result = await res.json(); + + if (result.error) { + if (logContent) logContent.innerHTML = `
오류: ${result.error}
`; + return; + } + + // 분석 결과 저장 및 UI 갱신 + currentFiles[index].analysis = result.final_result; + currentFiles[index].analysis.isManual = false; + + if (logContent) { + logContent.innerHTML = ` +
+
✨ AI 분석 완료
+
${result.final_result.reason}
+
+ `; + } + + renderFiles(); + } catch (e) { + console.error("AI Analysis failed:", e); + if (logContent) logContent.innerHTML = `
분석 실패: 네트워크 오류가 발생했습니다.
`; + } +} + // --- 미리보기 제어 --- function showPreview(index, event) { if (event && (event.target.closest('.btn-group') || event.target.closest('.path-display'))) return;