diff --git a/docs/RELEASE-NOTES.md b/docs/RELEASE-NOTES.md index c9dee1d..5d57a69 100644 --- a/docs/RELEASE-NOTES.md +++ b/docs/RELEASE-NOTES.md @@ -10,6 +10,12 @@ - 섹션 간 직접 이동 - 메인화면 카드 높이 동기화 (CSS Grid) +### 수정 +- S&P Collector 다크모드 미적용 및 라벨 디자인 통일 (#122) + - 실행이력상세/재수집이력상세 API 호출 로그 다크모드 적용 + - 개별 호출 로그 필터/테이블 다크모드 적용 + - 작업관리 스케줄 라벨 rounded-full 디자인 통일 + ## [2026-03-31] ### 추가 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 ( -

+