"""Journey state progress indicator component.""" from __future__ import annotations from app.services.state_manager import JOURNEY_STATES _STEP_LABELS = { "INGEST": "Upload Documents", "PRESCREEN": "Review Profile", "VALIDATE_TRIALS": "Trial Matching", "GAP_FOLLOWUP": "Gap Analysis", "SUMMARY": "Summary & Export", } def render_progress_tracker(current_state: str) -> dict: """Produce a render-spec dict for the journey progress indicator.""" current_idx = JOURNEY_STATES.index(current_state) if current_state in JOURNEY_STATES else 0 steps = [] for i, state in enumerate(JOURNEY_STATES): if i < current_idx: status = "completed" elif i == current_idx: status = "current" else: status = "upcoming" steps.append( { "state": state, "label": _STEP_LABELS[state], "status": status, } ) return { "steps": steps, "current_index": current_idx, }