diff --git a/app.py b/app.py index 7ee5416..e2eed6b 100644 --- a/app.py +++ b/app.py @@ -29,6 +29,15 @@ CATEGORIES = [ ("polish_team", "πŸ† 완성도상", "μ–‘μš°μ‚° 5개"), ("utility_team", "πŸ›  μ‹€μš©μ„±μƒ", "팜레슀트 5개"), ] +TITLE_PLACEHOLDERS = [ + "예: Slack λ©˜μ…˜ μžλ™ λΆ„λ₯˜κΈ°", + "예: kubectl 맀크둜 CLI", + "예: PR μš°μ„ μˆœμœ„ 큐", + "예: 회의 μΊ˜λ¦°λ” λΈŒλ¦¬ν•‘", + "예: μ‹ μž… κ°€μ΄λ“œ 봇", + "예: 배포 μ•Œλ¦Ό 봇", + "예: 점심 νˆ¬ν‘œ 봇", +] PRIZE_PRIORITY = ["utility_team", "polish_team", "fun_team"] SHOW_CSS = """ @@ -668,7 +677,7 @@ def render_admin(): new_override = st.text_input( "Override (λΉ„μ›Œλ‘λ©΄ μžλ™ 감지)", value=cur_override, - placeholder="http://192.168.1.10:8501", + placeholder="https://hackerthon.altair823.xyz", key="qr_override", ) if st.button("Override μ €μž₯"): @@ -676,9 +685,11 @@ def render_admin(): st.success("μ €μž₯됨.") st.rerun() + st.divider() + st.subheader("πŸ—³ νˆ¬ν‘œ μƒνƒœ") voting_open = is_voting_open() cur_label = "🟒 νˆ¬ν‘œ μ§„ν–‰ 쀑" if voting_open else "πŸ”΄ νˆ¬ν‘œ 마감됨" - st.markdown(f"### νˆ¬ν‘œ μƒνƒœ: {cur_label}") + st.markdown(f"**ν˜„μž¬**: {cur_label}") cc1, cc2 = st.columns(2) with cc1: if voting_open and st.button("πŸ›‘ νˆ¬ν‘œ 마감 (μ‹œμƒ μ‹œμž‘ μ „ ν•„μˆ˜)", type="primary"): @@ -807,11 +818,11 @@ def render_admin(): titles = get_titles() with st.form("titles_form"): new_titles = {} - for team in TEAMS: + for i, team in enumerate(TEAMS): new_titles[team] = st.text_input( team, value=titles.get(team, ""), - placeholder="예: μŠ¬λž™ λ©˜μ…˜ μžλ™ λΆ„λ₯˜κΈ°", + placeholder=TITLE_PLACEHOLDERS[i % len(TITLE_PLACEHOLDERS)], key=f"title_{team}", ) if st.form_submit_button("제λͺ© μ €μž₯"): @@ -914,7 +925,10 @@ def render_admin(): st.divider() st.subheader("🎀 μ‹œμƒμ‹ λ°œν‘œμš© (λ³΅μ‚¬ν•΄μ„œ ν™”λ©΄ 곡유)") - st.code("\n".join(public_lines), language="markdown") + if public_lines: + st.code("\n".join(public_lines), language="markdown") + else: + st.caption("아직 κ²°κ³Ό μ—†μŒ. νˆ¬ν‘œ 마감 ν›„ μžλ™ ν‘œμ‹œ.") st.divider() with st.expander("πŸ” 감사 둜그 (사칭 μΆ”μ μš©)"):