#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Progress Tracker Component This module provides the UI component for tracking the progress of the code review process. """ import gradio as gr import logging logger = logging.getLogger(__name__) def create_progress_tracker(): """ Create the progress tracker component. Returns: tuple: A tuple containing (overall_progress, status_message, step_progress_dict) """ # Overall progress bar overall_progress = gr.Slider( minimum=0, maximum=100, value=0, label="Overall Progress", interactive=False, ) # Status message status_message = gr.Markdown( "*Initializing...*" ) # Detailed progress steps steps = [ "Repository Cloning", "Language Detection", "Code Analysis", "Security Scanning", "Performance Analysis", "AI Review", "Report Generation" ] with gr.Accordion("Detailed Progress", open=False): step_progress = {} for step in steps: with gr.Row(variant="panel"): with gr.Column(scale=1, min_width=150): gr.Markdown(f"**{step}**") with gr.Column(scale=4): step_progress[step] = gr.Slider( minimum=0, maximum=100, value=0, label="", interactive=False, scale=2 ) return overall_progress, status_message, step_progress