fix: say which version a stale validation judged, before showing its errors

The validation screen presented a report from an earlier version with the same
weight as a current one — same status badge, same full error list — and marked
the difference with two small words. An author read a version 2 report on a
version 5 document and understood those errors as the document's present state.
Every error in that list had already been fixed.

The report now leads with what it is: which version it judged, that the
document has changed since, and where to re-run it. The badge stops claiming a
verdict and the issue list recedes, because a judgement about an older version
is not a verdict about this one.
This commit is contained in:
DongHyeonka
2026-08-21 18:10:51 +09:00
parent 7289ce97bb
commit fb478f951b
2 changed files with 23 additions and 3 deletions
@@ -55,11 +55,23 @@ export function ValidationReport({
<h2 id="studio-validation-report-title"> </h2>
</div>
<span
className={`studio-workflow-status studio-workflow-status--${report.status.toLowerCase()}`}
className={`studio-workflow-status studio-workflow-status--${current ? report.status.toLowerCase() : "stale"}`}
>
{report.status}
{current ? report.status : "지난 결과"}
</span>
</div>
{/*
낡은 판정을 현재 것과 같은 모양으로 보여주면 읽는 사람은 지금 상태로 읽는다. 실제로
버전 2 때의 오류 목록을 보고 버전 5 가 그렇다고 이해한 일이 있었다 — "이전 결과" 라는
작은 글씨 하나로는 그 오해를 막지 못한다. 무엇에 대한 판정인지 먼저 말한다.
*/}
{current ? null : (
<p className="studio-workflow-stale-notice" role="status">
<strong> {report.validatedVersion}</strong> .
<strong> </strong>
.
</p>
)}
<dl className="studio-workflow-metadata">
<div><dt> </dt><dd>{report.validatedVersion}</dd></div>
<div><dt></dt><dd>{current ? "현재" : "이전 결과"}</dd></div>
@@ -67,7 +79,10 @@ export function ValidationReport({
<div><dt> </dt><dd>{formatDateTime(report.validUntil)}</dd></div>
</dl>
{issues.length ? (
<ol className="studio-workflow-issue-list" aria-label="검증 항목">
<ol
className={`studio-workflow-issue-list${current ? "" : " studio-workflow-issue-list--stale"}`}
aria-label={current ? "검증 항목" : "지난 검증 항목"}
>
{issues.map((issue, index) => (
<li key={`${issue.severity}-${issue.code}-${issue.path}-${index}`}>
<GuardedStudioLink
@@ -86,3 +86,8 @@
:global(.studio-workflow-issue-list) a > span:last-child { display: none; }
:global(.studio-preview-public-frame .public-record-embedded) { padding: 22px 16px; }
}
/* 지난 판정은 현재 것과 같은 무게로 보이면 안 된다 — 읽는 사람이 지금 상태로 읽는다. */
:global(.studio-workflow-status--stale) { border-color: var(--line); background: var(--paper); color: var(--muted); }
:global(.studio-workflow-stale-notice) { margin: 0 0 18px; padding: 12px 14px; border: 1px solid var(--line-strong); border-radius: 6px; background: var(--paper); color: var(--muted); font-size: 13px; line-height: 1.6; }
:global(.studio-workflow-issue-list--stale) { opacity: 0.62; }