{# ABOUTME: Single field row inside the apply-candidate diff table. #} {# ABOUTME: Highlights changed cells, collapses long values into
. #} {% set row_class = 'diff-clear' if diff.skip_clear else ('diff-changed' if diff.changed else 'diff-unchanged') %} {# Apply checkbox only on rows that will actually write (#284): changed and not skip-clear. Unchanged/skip-clear rows get an empty cell — a disabled control would just invite "why can't I check this?" confusion. #} {% if diff.changed and not diff.skip_clear %} {% else %} {% endif %} {{ diff.field|replace('_', ' ')|title }} {% if diff.skip_clear %} {# Proposed is empty while current is set — skipped to protect curated data (issue #125). #} {% if diff.current and diff.current|length > 200 %}
{{ diff.current[:200] }}… {{ diff.current }}
{% else %} {{ diff.current or "—" }} {% endif %} — · current kept — provider had no value {% elif diff.changed %} {% if diff.current and diff.current|length > 200 %}
{{ diff.current[:200] }}… {{ diff.current }}
{% else %} {{ diff.current or "—" }} {% endif %} {% if diff.proposed and diff.proposed|length > 200 %}
{{ diff.proposed[:200] }}… {{ diff.proposed }}
{% else %} {{ diff.proposed or "—" }} {% endif %} {% else %} {% if diff.current and diff.current|length > 200 %}
{{ diff.current[:200] }}… {{ diff.current }}
{% else %} {{ diff.current or "—" }} {% endif %} same {% endif %}