feat: simplify history UI by removing selectbox and rendering directly on table click
This commit is contained in:
@@ -809,35 +809,16 @@ def page_history():
|
|||||||
selected_row_idx = selected_rows[0]
|
selected_row_idx = selected_rows[0]
|
||||||
if selected_row_idx < len(records):
|
if selected_row_idx < len(records):
|
||||||
st.session_state["selected_analysis_id"] = records[selected_row_idx]["id"]
|
st.session_state["selected_analysis_id"] = records[selected_row_idx]["id"]
|
||||||
|
else:
|
||||||
|
# 선택 해제되었거나 최초 로딩 시, 기본적으로 가장 최근 분석(첫 번째 행)을 기본값으로 세팅
|
||||||
|
valid_ids = [r["id"] for r in records]
|
||||||
|
if "selected_analysis_id" not in st.session_state or st.session_state["selected_analysis_id"] not in valid_ids:
|
||||||
|
st.session_state["selected_analysis_id"] = records[0]["id"] if records else 1
|
||||||
|
|
||||||
# 상세 조회
|
# 상세 조회
|
||||||
st.markdown("---")
|
st.markdown("---")
|
||||||
st.subheader("🔎 상세 조회")
|
|
||||||
|
|
||||||
# 보고서 선택을 돕는 UI 개선: 드롭다운 선택박스 제공
|
|
||||||
history_options = [
|
|
||||||
(r["id"], f"[ID: {r['id']}] {status_emoji.get(r['overall_status'], '')} {r['filename'][:30]} ({r['created_at']})")
|
|
||||||
for r in records
|
|
||||||
]
|
|
||||||
|
|
||||||
# 현재 선택된 ID에 해당하는 옵션의 인덱스 찾기 (양방향 연동용)
|
|
||||||
default_index = 0
|
|
||||||
for idx, opt in enumerate(history_options):
|
|
||||||
if opt[0] == st.session_state["selected_analysis_id"]:
|
|
||||||
default_index = idx
|
|
||||||
break
|
|
||||||
|
|
||||||
selected_option = st.selectbox(
|
|
||||||
"조회할 보고서 선택",
|
|
||||||
options=history_options,
|
|
||||||
index=default_index,
|
|
||||||
format_func=lambda x: x[1]
|
|
||||||
)
|
|
||||||
|
|
||||||
if selected_option:
|
|
||||||
st.session_state["selected_analysis_id"] = selected_option[0]
|
|
||||||
|
|
||||||
selected_id = st.session_state["selected_analysis_id"]
|
selected_id = st.session_state["selected_analysis_id"]
|
||||||
|
st.subheader(f"🔎 상세 조회 (보고서 ID: {selected_id})")
|
||||||
|
|
||||||
detail = get_analysis_detail(selected_id)
|
detail = get_analysis_detail(selected_id)
|
||||||
if not detail:
|
if not detail:
|
||||||
|
|||||||
Reference in New Issue
Block a user