From dd690fcb62c5b3df2a2bd043c7e5dec0d6ba4bb2 Mon Sep 17 00:00:00 2001 From: th-kim0823 Date: Mon, 27 Apr 2026 20:06:18 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20stage=20topics=20=E2=80=94=202=C3=972?= =?UTF-8?q?=20=EC=B9=B4=ED=85=8C=EA=B3=A0=EB=A6=AC=20=EA=B7=B8=EB=A6=AC?= =?UTF-8?q?=EB=93=9C=20+=2010=EC=A3=BC=EC=A0=9C=20list=20+=20=EC=83=89?= =?UTF-8?q?=EC=83=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- app.py | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/app.py b/app.py index 073533a..6b6e117 100644 --- a/app.py +++ b/app.py @@ -417,7 +417,32 @@ def render_stage_intro(data): def render_stage_topics(data): st.markdown('
πŸ’‘ μ˜ˆμ‹œ 주제
', unsafe_allow_html=True) - st.info("Task 10μ—μ„œ κ΅¬ν˜„") + st.markdown('
영감 μ–»μœΌμ„Έμš” β€” λ˜‘κ°™μ΄ μ•ˆ λ§Œλ“€μ–΄λ„ λ©λ‹ˆλ‹€
', unsafe_allow_html=True) + + cats = data.get("topics", {}).get("categories", []) + if not cats: + st.warning("μ£Όμ œκ°€ λΉ„μ–΄ μžˆμŠ΅λ‹ˆλ‹€. μ–΄λ“œλ―Όμ—μ„œ μž…λ ₯ν•˜μ„Έμš”.") + return + + # 2Γ—2 κ·Έλ¦¬λ“œ + rows = [cats[i:i + 2] for i in range(0, len(cats), 2)] + for row in rows: + cols = st.columns(2) + for col, cat in zip(cols, row): + cat_id = cat.get("id", "T?") + items_html = "".join( + f'
β–Έ {item}
' for item in cat.get("items", []) + ) + with col: + st.markdown( + f'
' + f'
{cat_id}. {cat.get("title", "")}
' + f'
{cat.get("tagline", "")}
' + f'
톀: {cat.get("tone", "")}
' + f' {items_html}' + f'
', + unsafe_allow_html=True, + ) def render_stage_vote(data):