refactor: useAnalysisPipeline 시간 기반 분할 제거 → 백엔드 planning 단계 직접 매핑
기존엔 analyzing 한 단계가 길어서 30초 경과 시점에 generating → planning 으로 시간 기반 분할했지만, 백엔드가 planning 을 별도 상태로 분리하면서 불필요해짐.main
parent
7926636c09
commit
317cd61519
|
|
@ -56,9 +56,8 @@ function clearSession() {
|
||||||
Object.values(SESSION_KEYS).forEach((k) => sessionStorage.removeItem(k));
|
Object.values(SESSION_KEYS).forEach((k) => sessionStorage.removeItem(k));
|
||||||
}
|
}
|
||||||
|
|
||||||
// 백엔드 AnalysisStatus 4단계를 UI 5단계로 매핑.
|
// 백엔드 6단계(discovering/collecting/analyzing/planning/completed/failed)를
|
||||||
// analyzing 한 단계는 길어서 generating → planning 으로 시간 기반 분할.
|
// UI 4단계로 매핑. analyzing + planning 은 사용자 입장에서 같은 "생성" 단계라 합침.
|
||||||
const ANALYZING_SPLIT_MS = 30_000;
|
|
||||||
|
|
||||||
interface UseAnalysisPipelineResult {
|
interface UseAnalysisPipelineResult {
|
||||||
phase: Phase;
|
phase: Phase;
|
||||||
|
|
@ -101,15 +100,11 @@ export function useAnalysisPipeline(): UseAnalysisPipelineResult {
|
||||||
let clinicId = resumeFrom?.clinicId;
|
let clinicId = resumeFrom?.clinicId;
|
||||||
let runId = resumeFrom?.runId;
|
let runId = resumeFrom?.runId;
|
||||||
|
|
||||||
// analyzing 진입 시각을 기록해서 generating → planning 시점을 시간으로 판단
|
|
||||||
let analyzingStartedAt: number | null = null;
|
|
||||||
const mapPhase = (s: AnalysisStatus): Phase => {
|
const mapPhase = (s: AnalysisStatus): Phase => {
|
||||||
if (s === AnalysisStatus.discovering) return 'discovering';
|
if (s === AnalysisStatus.discovering) return 'discovering';
|
||||||
if (s === AnalysisStatus.collecting) return 'collecting';
|
if (s === AnalysisStatus.collecting) return 'collecting';
|
||||||
if (s === AnalysisStatus.analyzing) {
|
if (s === AnalysisStatus.analyzing) return 'generating';
|
||||||
if (analyzingStartedAt === null) analyzingStartedAt = Date.now();
|
if (s === AnalysisStatus.planning) return 'planning';
|
||||||
return Date.now() - analyzingStartedAt > ANALYZING_SPLIT_MS ? 'planning' : 'generating';
|
|
||||||
}
|
|
||||||
if (s === AnalysisStatus.completed) return 'complete';
|
if (s === AnalysisStatus.completed) return 'complete';
|
||||||
return 'discovering';
|
return 'discovering';
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue