Skip to content

Commit 83f9f9e

Browse files
authored
Add Streamlit app for mock element slider
Implement a Streamlit app with a slider for mock elements.
1 parent c660452 commit 83f9f9e

1 file changed

Lines changed: 32 additions & 0 deletions

File tree

app/gh-13853/app.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import streamlit as st
2+
3+
num_elements = 10
4+
5+
st.set_page_config(page_title="Mock element Slider", layout="centered")
6+
7+
element_ids = [f"mock-element-{i:02d}" for i in range(num_elements)]
8+
element_to_idx = {element_id: idx for idx, element_id in enumerate(element_ids)}
9+
10+
url_element_id = st.query_params.get("element_id")
11+
if (
12+
"mock_element_id" not in st.session_state
13+
or st.session_state["mock_element_id"] not in element_to_idx
14+
):
15+
st.session_state["mock_element_id"] = (
16+
url_element_id if url_element_id in element_to_idx else element_ids[0]
17+
)
18+
19+
with st.container(key="mock-element-slider"):
20+
st.select_slider(
21+
"element",
22+
options=element_ids,
23+
key="mock_element_id",
24+
label_visibility="collapsed",
25+
)
26+
27+
st.query_params["element_id"] = st.session_state["mock_element_id"]
28+
29+
current_element_id = st.session_state["mock_element_id"]
30+
current_idx = element_to_idx[current_element_id]
31+
with st.popover(f"element `{current_element_id}`"):
32+
st.markdown(f"({current_idx}/{num_elements})")

0 commit comments

Comments
 (0)