File size: 1,307 Bytes
33c6ed5
 
 
 
 
 
 
 
 
 
 
 
95d45d2
 
 
 
 
 
 
 
 
 
33c6ed5
 
95d45d2
 
f92db56
 
33c6ed5
 
 
 
 
f92db56
95d45d2
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
36
import streamlit as st
import time

# Define the list of themes and nodes
themes = {
    "Theme 1": ["Node 1.1", "Node 1.2", "Node 1.3", "Node 1.4", "Node 1.5", "Node 1.6", "Node 1.7", "Node 1.8", "Node 1.9", "Node 1.10"],
    "Theme 2": ["Node 2.1", "Node 2.2", "Node 2.3", "Node 2.4", "Node 2.5", "Node 2.6", "Node 2.7", "Node 2.8", "Node 2.9", "Node 2.10"],
}

# Define emojis for top 1 through 10
emojis = ["1️⃣", "2️⃣", "3️⃣", "4️⃣", "5️⃣", "6️⃣", "7️⃣", "8️⃣", "9️⃣", "🔟"]

def spinning_model(theme, nodes, emojis, loop):
    index = 0
    while loop:
        output = ""
        for i, node in enumerate(nodes):
            if i == index:
                output += f"{emojis[i]} {node}\n"
            else:
                output += f"{node}\n"
        
        st.markdown(f"### {theme}\n{output}")
        st.write("---")
        time.sleep(1)
        index = (index + 1) % len(nodes)
        loop = st.button("Toggle Loop", key=f"{theme}_toggle_loop")

st.title("Spinning Model Visualization")
st.write("Select a theme to display the spinning model.")

selected_theme = st.selectbox("Theme:", list(themes.keys()))

loop = st.button("Toggle Loop", key=f"{selected_theme}_init_toggle_loop")
spinning_model(selected_theme, themes[selected_theme], emojis, loop)