From 4e7a56567bf2db3c1ea2a832f6b7ba3ec9fb4b7b Mon Sep 17 00:00:00 2001 From: sam Date: Wed, 8 Oct 2025 20:28:11 +0800 Subject: [PATCH] add factor progress display in sidebar with idle state message --- app/ui/progress_state.py | 8 +++++--- app/ui/views/dashboard.py | 8 ++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/app/ui/progress_state.py b/app/ui/progress_state.py index fafcedd..ff61ac6 100644 --- a/app/ui/progress_state.py +++ b/app/ui/progress_state.py @@ -124,13 +124,15 @@ def render_factor_progress() -> None: """渲染因子计算进度组件""" progress_info = factor_progress.get_progress_info() - if progress_info['status'] == 'idle': - return - # 创建进度显示区域 with st.container(): st.subheader("📊 因子计算进度") + # 空闲状态显示提示信息 + if progress_info['status'] == 'idle': + st.info("当前没有因子计算任务。执行因子计算时,进度将在此显示。") + return + # 进度条 if progress_info['status'] == 'running': st.progress(progress_info['percentage'] / 100.0) diff --git a/app/ui/views/dashboard.py b/app/ui/views/dashboard.py index 0d54398..8ba6466 100644 --- a/app/ui/views/dashboard.py +++ b/app/ui/views/dashboard.py @@ -139,6 +139,9 @@ def render_global_dashboard() -> None: badge = f" ({len(warnings)})" if warnings else "" st.sidebar.header(f"系统监控{badge}") + # 因子计算进度显示区域 + factor_progress_container = st.sidebar.container() + metrics_container = st.sidebar.container() decisions_container = st.sidebar.container() st.sidebar.container() # legacy placeholder for layout spacing @@ -148,6 +151,11 @@ def render_global_dashboard() -> None: _DASHBOARD_ELEMENTS = _ensure_dashboard_elements(metrics_container, decisions_container) _WARNINGS_PLACEHOLDER = warn_placeholder + # 在侧边栏中显示因子计算进度 + with factor_progress_container: + from app.ui.progress_state import render_factor_progress + render_factor_progress() + if not _SIDEBAR_LISTENER_ATTACHED: register_llm_metrics_listener(_sidebar_metrics_listener) _SIDEBAR_LISTENER_ATTACHED = True