""" Progress tracker component for SkillSync """ import gradio as gr def create_progress_tracker(progress_manager, total_lessons=25): """Create a progress tracking display""" # Get progress data progress_data = progress_manager.get_overall_progress(total_lessons) completed = progress_data['completed_lessons'] percentage = progress_data['percentage'] quizzes_passed = progress_data['quizzes_passed'] avg_score = 0 if progress_manager.progress.get('quiz_scores'): scores = [s.get('score', 0) for s in progress_manager.progress['quiz_scores'].values()] avg_score = int(sum(scores) / len(scores)) if scores else 0 # Progress display gr.Markdown("### 📊 Your Progress") with gr.Row(): with gr.Column(scale=1): gr.HTML(f"""
{percentage}%
Overall Completion
""") with gr.Column(scale=1): gr.HTML(f"""
{completed}/{total_lessons}
Lessons Completed
""") with gr.Column(scale=1): gr.HTML(f"""
{quizzes_passed}/5
Quizzes Passed
""") with gr.Column(scale=1): gr.HTML(f"""
{avg_score}%
Avg Quiz Score
""") # Progress bar gr.HTML(f"""
Course Progress {percentage}%
""") return progress_data