{#- partials/step_tabs.html Sidebar + step-area layout for per-test-case step logs. Context: steps_by_tc — dict mapping test_case_id (str) -> list of step dicts Requires: app.js showTC(), goStep(), expAll(), colAll(), aTab() components.css .slogs, .slogs-layout, .sidebar-*, .tc-panel, .scard-* .st-sep, .step-group-label #}
{% for tc_id, steps in steps_by_tc.items() %}
{%- set total_steps = steps | length -%} {#- #19 Phase dividers + #20 Step group labels -#} {%- set ns = namespace(prev_phase='', prev_group='') -%} {% for step in steps %} {#- #19 Render phase divider when phase changes #} {%- if step.phase and step.phase != ns.prev_phase %} {%- set ns.prev_phase = step.phase %}
{{ step.phase }}
{%- endif %} {#- #20 Render group label when step_group changes #} {%- if step.step_group and step.step_group != ns.prev_group %} {%- set ns.prev_group = step.step_group %}
— {{ step.step_group }}
{%- endif %} {% include "partials/step_card.html" %} {% endfor %}
{% endfor %}