From 50615e0069373b7e51c9a83d57d84f95ffd42845 Mon Sep 17 00:00:00 2001 From: th-kim0823 Date: Mon, 27 Apr 2026 20:31:24 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20admin=20URL=20labels=20+=20topics-empty?= =?UTF-8?q?=20=EC=95=88=EB=82=B4=EB=AC=B8=20+=20README=20=ED=85=8C?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=20=EC=88=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- README.md | 2 +- app.py | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a1a1325..6ac3997 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,7 @@ docker cp tests/e2e.py hackathon-vote:/tmp/e2e.py docker exec hackathon-vote python3 /tmp/e2e.py ``` -12개 시나리오 검증 (로드, 마감 토글, winner, priority, 동률, 추첨, UNIQUE, 제목, archive, atomic, clear). +19개 시나리오 검증 (로드, 마감 토글, winner, priority, 동률, 추첨, UNIQUE, 제목, archive, atomic, clear). ## 시상 매핑 diff --git a/app.py b/app.py index 30b6c00..3f29e0b 100644 --- a/app.py +++ b/app.py @@ -597,7 +597,8 @@ def render_admin(): with st.expander("🔗 다른 페이지 URL"): st.markdown( f""" -- 👥 **참가자 투표**: [/](/) +- 🖥 **큰 화면 (발표자)**: [/](/) +- 📱 **모바일 투표 (QR target)**: [/?mode=vote](?mode=vote) - 🎉 **시상식 (큰 화면)**: [/?mode=ceremony&token=...](?mode=ceremony&token={ADMIN_TOKEN}) - 📦 **JSON 원본 조회**: [/?mode=raw&token=...](?mode=raw&token={ADMIN_TOKEN}) @@ -688,7 +689,11 @@ def render_admin(): st.subheader("🗒 주제 편집") cur_topics = get_topics() if not cur_topics: - st.warning("주제 시드 비어있음. 컨테이너 재시작 시 시드 자동 적용됨.") + st.warning( + "주제 비어있음. 어드민에서 직접 입력하거나, " + "데이터 파일을 통째로 재시드하려면: " + "`rm data/hackathon.json && docker compose restart vote`" + ) else: edit_mode = st.radio( "편집 모드", ["Form", "JSON 직접 편집"], horizontal=True, key="topics_mode"