feat(campaign): record unmatched file disposition

This commit is contained in:
2026-08-20 01:57:12 +02:00
parent b6af7665f4
commit f4fe534ee1
9 changed files with 177 additions and 3 deletions
@@ -158,6 +158,8 @@ export default function ReviewSendPage({
);
const validation = asRecord(version?.validation_summary);
const build = asRecord(version?.build_summary);
const residualFileDisposition = asRecord(build.residual_file_disposition);
const residualFileRecipient = asRecord(residualFileDisposition.recipient);
const printOutput = asRecord(build.print_output);
const printArtifact = asRecord(printOutput.artifact);
const summary = liveSummary ?? data.summary;
@@ -1490,6 +1492,18 @@ export default function ReviewSendPage({
{hasBuild && <BuiltMessageReviewProgress progress={buildReviewProgress} />}
{hasBuild && <BuiltMessageWorkflowGuidance progress={buildReviewProgress} buildWarnings={buildWarnings} />}
<p className="muted">i18n:govoplan-campaign.building_freezes_the_current_recipients_rendered.273a8170</p>
{hasBuild && Object.keys(residualFileDisposition).length > 0 && (
<div className="review-flow-data-section" data-residual-file-policy>
<h3>i18n:govoplan-campaign.unassigned_file_policy</h3>
<DescriptionList variant="inline">
<div><dt>i18n:govoplan-campaign.action.97c89a4d</dt><dd>{humanize(String(residualFileDisposition.action ?? "review"))}</dd></div>
<div><dt>i18n:govoplan-campaign.validation_policy.57dcc756</dt><dd>{humanize(String(residualFileDisposition.validation_behavior ?? "warn"))}</dd></div>
<div><dt>i18n:govoplan-campaign.unassigned_files_detected</dt><dd>{String(residualFileDisposition.residual_file_count ?? 0)}</dd></div>
<div><dt>i18n:govoplan-campaign.watched_sources</dt><dd>{String(residualFileDisposition.watched_source_count ?? 0)}</dd></div>
{residualFileRecipient.email ? <div><dt>i18n:govoplan-campaign.recipient.90343260</dt><dd>{String(residualFileRecipient.email)}</dd></div> : null}
</DescriptionList>
</div>
)}
{getText(printOutput, "render_id") && (
<div className="review-flow-data-section">
<div className="page-heading split">