(st, isValidation, locked, ord)
| 688 | return btn(label, "work_step", { title: st.title, section: st.section }, { primary: true }); |
| 689 | } |
| 690 | function stepRowAction(st, isValidation, locked, ord) { |
| 691 | if (st.status === "done") return '<span class="smuted">✓ Done</span>'; |
| 692 | if (isValidation) return '<span class="smuted">run from Validation →</span>'; |
| 693 | if (locked) { |
| 694 | return '<span class="smuted lockwhy">🔒 after ' + esc(shortPhase(ord && ord.activePhase)) + "</span>" + btn("Do anyway", "work_step", { title: st.title, section: st.section }); |
| 695 | } |
| 696 | const label = st.status === "in_progress" ? "Resume" : "Work on this"; |
| 697 | return btn(label, "work_step", { title: st.title, section: st.section }); |
| 698 | } |
| 699 | |
| 700 | function validationTab(s) { |
| 701 | const gates = s.gates || {}; |
no test coverage detected