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,
    )