diff --git a/src/components/AssignmentLabel/AssignmentLabel.tsx b/src/components/AssignmentLabel/AssignmentLabel.tsx
index 07178e3..68ac49e 100644
--- a/src/components/AssignmentLabel/AssignmentLabel.tsx
+++ b/src/components/AssignmentLabel/AssignmentLabel.tsx
@@ -37,7 +37,7 @@ export function AssignmentLabel({ assignmentCode }: AssignmentLabelProps) {
case 'staff-delegate':
return {name};
case 'staff-stagelead':
- return {name};
+ return {name};
default:
return {name};
}
diff --git a/src/components/CutoffTimeLimitPanel/CutoffTimeLimitPanel.tsx b/src/components/CutoffTimeLimitPanel/CutoffTimeLimitPanel.tsx
index 13fc778..9834a11 100644
--- a/src/components/CutoffTimeLimitPanel/CutoffTimeLimitPanel.tsx
+++ b/src/components/CutoffTimeLimitPanel/CutoffTimeLimitPanel.tsx
@@ -42,34 +42,49 @@ export function CutoffTimeLimitPanel({
)}
- {timeLimit && timeLimit?.cumulativeRoundIds.length > 0 && (
-
- }}
- />
- {': '}
-
- {timeLimit.cumulativeRoundIds
- .filter((activityCode) => activityCode !== round.id)
- .map((activityCode, i, arry) => {
- const { eventId, roundNumber } = parseActivityCode(activityCode);
- return (
-
-
- {t('common.activityCodeToName.round', { roundNumber })}
- {i < arry.length - 1 ? ', ' : ''}
-
-
- );
- })}
+ {timeLimit &&
+ timeLimit?.cumulativeRoundIds.length > 0 &&
+ timeLimit.cumulativeRoundIds.filter((activityCode) => activityCode !== round.id)
+ .length === 0 && (
+
+ }}
+ />
-
- )}
+ )}
+
+ {timeLimit &&
+ timeLimit?.cumulativeRoundIds.length > 0 &&
+ timeLimit.cumulativeRoundIds.filter((activityCode) => activityCode !== round.id)
+ .length > 0 && (
+
+
+ }}
+ />
+ {timeLimit.cumulativeRoundIds
+ .filter((activityCode) => activityCode !== round.id)
+ .map((activityCode, i, arry) => {
+ const { eventId, roundNumber } = parseActivityCode(activityCode);
+ return (
+
+
+ {t('common.activityCodeToName.round', { roundNumber })}
+ {i < arry.length - 1 ? ', ' : ''}
+
+
+ );
+ })}
+
+
+ )}
{round.advancementCondition && (
diff --git a/src/i18n/en/translation.yaml b/src/i18n/en/translation.yaml
index 1b9806f..280ab3a 100644
--- a/src/i18n/en/translation.yaml
+++ b/src/i18n/en/translation.yaml
@@ -28,7 +28,8 @@ common:
'other-mbld': 'MBLD Submission'
timeLimit: 'Time Limit'
cutoff: 'Cutoff'
- cumulativeTimelimit: Time Limit {{time}} with rounds
+ cumulativeTimelimit: 'Time Limit: {{time}} Cumulative'
+ cumulativeTimelimitWithrounds: 'Time Limit: {{time}} Total with: '
advancement:
ranking: 'Top {{level}} to next round'
percent: 'Top {{level}}% to next round'
diff --git a/src/i18n/ko/translation.yaml b/src/i18n/ko/translation.yaml
index cc21632..fae1af7 100644
--- a/src/i18n/ko/translation.yaml
+++ b/src/i18n/ko/translation.yaml
@@ -24,8 +24,11 @@ common:
444bf: 4x4x4 블라인드
555bf: 5x5x5 블라인드
333mbf: 3x3x3 멀티 블라인드
+ other-mbld: 멀티 블라인드 큐브 제출
timeLimit: 기록 제한
cutoff: 컷오프
+ cumulativeTimelimit: '기록 제한: 누적 {{time}}'
+ cumulativeTimelimitWithrounds: '기록 제한: 총 {{time}}, 대상 라운드: '
advancement:
ranking: 상위 {{level}}명이 다음 라운드로 진출
percent: 상위 {{level}}%가 다음 라운드로 진출
@@ -101,10 +104,10 @@ common:
noun_other: 사전 준비/행사 정리
verb: 사전 준비 중/행사 정리 중
staff-core:
- noun: 핵심 스태프
- noun_other: 핵심 스태프
- verb: 핵심 스태프
- lastFetched: '최근 가져오기: {{date}}'
+ noun: 코어 스태프
+ noun_other: 코어 스태프
+ verb: 코어 스태프
+ lastFetched: '최근 업데이트: {{date}}'
competitionSelect:
placeholder: 대회 검색
noOptions: 검색된 대회 없음
@@ -136,6 +139,7 @@ home:
yourCompetitions: 귀하의 대회
competition:
competitors:
+ viewMyAssignments: 나의 배정 보기
viewCompetitionInformation: 대회 정보 보기
searchCompetitors: 선수 검색
groups:
@@ -156,11 +160,11 @@ competition:
title: 순위
name: 성명
personalSchedule:
- registeredEvents: 신청한 종목
+ registeredEvents: 신청된 종목
viewPersonalRecords: 개인 기록 보기
viewResults: 결과 보기
noAssignments:
- line1: 업무 없음
+ line1: 배정 없음
line2: 나중에 다시 확인해 주세요!
activity: 활동
time: 시간
@@ -168,8 +172,9 @@ competition:
group: 그룹
stage: $t(common.stage)
station: 스테이션
+ submitMultiCubes: MBLD 제출
personalRecords:
- viewSchedule: 개인 배정 업무 보기
+ viewSchedule: 개인 배정 보기
type: 유형
best: 최고 기록
scramblers:
@@ -179,7 +184,7 @@ competition:
event: 종목
scramblers: 스크램블러
streamSchedule:
- title: 스트리밍 스케쥴
+ title: 스트리밍 일정
subtitle: 생중계
time: 시간
event: $t(common.wca.event)
diff --git a/src/lib/results.ts b/src/lib/results.ts
index 34d29ad..27c00be 100644
--- a/src/lib/results.ts
+++ b/src/lib/results.ts
@@ -29,15 +29,17 @@ export const renderCutoff = (cutoff: Cutoff) => {
return '-';
}
- return `${formatCentiseconds(cutoff.attemptResult).replace(/\.00+$/, '')}`;
+ return `${formatCentiseconds(cutoff.attemptResult)}`;
};
export const renderCentiseconds = (centiseconds: number) => {
- if (centiseconds >= 60000) {
+ if (centiseconds >= 360000) {
const hours = Math.floor(centiseconds / 360000);
- const centi = formatCentiseconds(centiseconds - hours * 360000).replace(/\.00+$/, '');
- return hours ? `${hours}:${centi}` : centi;
+ const minutes = Math.floor((centiseconds % 360000) / 6000);
+ const seconds = Math.floor((centiseconds % 6000) / 100);
+ const centis = centiseconds % 100;
+ return `${hours}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}.${centis.toString().padStart(2, '0')}`;
}
- return formatCentiseconds(centiseconds).replace(/\.00+$/, '');
+ return formatCentiseconds(centiseconds);
};