From ba7c5af5f17d90fbac3362c709f84c8e5962f840 Mon Sep 17 00:00:00 2001 From: HYOJIN Date: Tue, 31 Mar 2026 15:52:23 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20S&P=20Collector=20=EB=8B=A4=ED=81=AC?= =?UTF-8?q?=EB=AA=A8=EB=93=9C=20=EB=AF=B8=EC=A0=81=EC=9A=A9=20=EB=B0=8F=20?= =?UTF-8?q?=EB=9D=BC=EB=B2=A8=20=EB=94=94=EC=9E=90=EC=9D=B8=20=ED=86=B5?= =?UTF-8?q?=EC=9D=BC=20(#122)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 실행이력상세/재수집이력상세 API 호출 로그 다크모드 적용 - 개별 호출 로그 (ApiLogSection) 필터/테이블 다크모드 적용 - 작업관리 스케줄 라벨 rounded-full 및 디자인 통일 Co-Authored-By: Claude Opus 4.6 (1M context) --- frontend/src/components/ApiLogSection.tsx | 22 ++++++------ frontend/src/pages/ExecutionDetail.tsx | 42 +++++++++++------------ frontend/src/pages/Jobs.tsx | 8 ++--- frontend/src/pages/RecollectDetail.tsx | 42 +++++++++++------------ 4 files changed, 57 insertions(+), 57 deletions(-) diff --git a/frontend/src/components/ApiLogSection.tsx b/frontend/src/components/ApiLogSection.tsx index 4da7cb3..7f89b6d 100644 --- a/frontend/src/components/ApiLogSection.tsx +++ b/frontend/src/components/ApiLogSection.tsx @@ -71,11 +71,11 @@ export default function ApiLogSection({ stepExecutionId, summary }: ApiLogSectio className={`px-2.5 py-1 text-xs rounded-full font-medium transition-colors ${ status === key ? key === 'ERROR' - ? 'bg-red-100 text-red-700' + ? 'bg-red-500/15 text-red-500' : key === 'SUCCESS' - ? 'bg-emerald-100 text-emerald-700' - : 'bg-blue-100 text-blue-700' - : 'bg-gray-100 text-gray-500 hover:bg-gray-200' + ? 'bg-emerald-500/15 text-emerald-500' + : 'bg-blue-500/15 text-blue-500' + : 'bg-wing-card text-wing-muted hover:bg-wing-hover' }`} > {label} ({count.toLocaleString()}) @@ -92,7 +92,7 @@ export default function ApiLogSection({ stepExecutionId, summary }: ApiLogSectio <>
- + @@ -104,24 +104,24 @@ export default function ApiLogSection({ stepExecutionId, summary }: ApiLogSectio - + {logData.content.map((log, idx) => { const isError = (log.statusCode != null && log.statusCode >= 400) || log.errorMessage; return ( - + - -
# URI에러
{page * 10 + idx + 1}
- + {log.requestUri}
{log.httpMethod}{log.httpMethod} + {log.responseTimeMs?.toLocaleString() ?? '-'} + {log.responseCount?.toLocaleString() ?? '-'} diff --git a/frontend/src/pages/ExecutionDetail.tsx b/frontend/src/pages/ExecutionDetail.tsx index f861986..68c2b5c 100644 --- a/frontend/src/pages/ExecutionDetail.tsx +++ b/frontend/src/pages/ExecutionDetail.tsx @@ -96,32 +96,32 @@ function StepCard({ step, jobName, jobExecutionId }: StepCardProps) { {/* API 호출 정보: apiLogSummary가 있으면 개별 로그 리스트, 없으면 기존 apiCallInfo 요약 */} {step.apiLogSummary ? ( -
+

API 호출 정보

-
+

{step.apiLogSummary.totalCalls.toLocaleString()}

총 호출

-
+

{step.apiLogSummary.successCount.toLocaleString()}

성공

-
+

0 ? 'text-red-500' : 'text-wing-text'}`}> {step.apiLogSummary.errorCount.toLocaleString()}

에러

-
+

{Math.round(step.apiLogSummary.avgResponseMs).toLocaleString()}

평균(ms)

-
+

{step.apiLogSummary.maxResponseMs.toLocaleString()}

최대(ms)

-
+

{step.apiLogSummary.minResponseMs.toLocaleString()}

최소(ms)

@@ -132,7 +132,7 @@ function StepCard({ step, jobName, jobExecutionId }: StepCardProps) { )}
) : step.apiCallInfo && ( -
+

API 호출 정보

@@ -163,7 +163,7 @@ function StepCard({ step, jobName, jobExecutionId }: StepCardProps) { )} {step.exitMessage && ( -
+

Exit Message

{step.exitMessage} @@ -468,7 +468,7 @@ function FailedRecordsToggle({ records, jobName, jobExecutionId }: { records: Fa }; return ( -

+