전략평가 화면 수정
This commit is contained in:
@@ -126,6 +126,25 @@ export function getTrafficLightState(matchRate: number, metrics: ConditionMetric
|
||||
return 'red';
|
||||
}
|
||||
|
||||
/** side 카드 헤드라인 — DSL 전체 Rule 충족 시 100% (리프 비율과 구분) */
|
||||
export function resolveSideHeadlineMatchRate(
|
||||
metrics: ConditionMetric[],
|
||||
overallMet?: boolean | null,
|
||||
): number {
|
||||
if (overallMet === true) return 100;
|
||||
return computeMatchRate(metrics);
|
||||
}
|
||||
|
||||
export function resolveSideTrafficState(
|
||||
metrics: ConditionMetric[],
|
||||
overallMet?: boolean | null,
|
||||
): TrafficLightState {
|
||||
const rate = resolveSideHeadlineMatchRate(metrics, overallMet);
|
||||
if (overallMet === true) return 'blue';
|
||||
if (overallMet === false && rate === 0) return 'red';
|
||||
return getTrafficLightState(rate, metrics);
|
||||
}
|
||||
|
||||
export function formatUpdatedTime(ts: number | undefined): string {
|
||||
if (!ts) return '—';
|
||||
return new Date(ts).toLocaleTimeString('ko-KR', {
|
||||
|
||||
Reference in New Issue
Block a user