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;