File size: 1,010 Bytes
8a48888 61f3789 8a48888 61f3789 8a48888 61f3789 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | """4๋จ๊ณ ์งํ ์คํธ๋ฆฝ (๊ฐ๋ฐ ๊ฐ์ด๋ ๋ถ๋ก C)
st.session_state.stage ๊ธฐ์ค์ผ๋ก ๊ฐ ๋จ๊ณ๋ฅผ idle / active / done์ผ๋ก ๋ ๋
- stage > num: done (โ)
- stage == num: active (ํ์ฌ ๋ถ์ ์ค)
- stage < num: idle
"""
import streamlit as st
STEPS = [(1, "์ด์ ํ์ง"), (2, "์์ธ ๋ถ์"), (3, "์ํฅ ํ๊ฐ"), (4, "๊ถ๊ณ ์")]
def render_progress_strip():
stage = st.session_state.stage
pieces = []
for i, (num, label) in enumerate(STEPS):
if stage > num:
state, mark = "done", "โ"
elif stage == num:
state, mark = "active", str(num)
else:
state, mark = "idle", str(num)
pieces.append(
f'<div class="fab-progress-step {state}"><span class="num">{mark}</span>{label}</div>'
)
if i < len(STEPS) - 1:
pieces.append('<span class="conn"></span>')
st.markdown(
f'<div class="fab-progress">{"".join(pieces)}</div>',
unsafe_allow_html=True,
)
|