File size: 1,734 Bytes
d8f56b1 53dcb25 bee7cf0 fe2d7a3 d98a4da fe2d7a3 bee7cf0 fe2d7a3 bee7cf0 fe2d7a3 bee7cf0 fe2d7a3 bee7cf0 fe2d7a3 bee7cf0 fe2d7a3 bee7cf0 fe2d7a3 561774a 34e2892 57dfc0c 9176e69 9f0fc30 057e688 b50938f 9038e9e b47a09c 9038e9e 057e688 957d115 057e688 fe5cb7d |
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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
import streamlit as st
# Set page config
st.set_page_config(page_title="Fixed Status Widget Approach 2", layout="wide")
# More specific CSS targeting just the status widget
st.markdown("""
<style>
/* Very specific targeting of the status widget */
div[data-testid="stStatusWidget"],
div:has(> div[data-testid="stStatusWidget"]) {
position: fixed !important;
top: 5px !important;
right: 5px !important;
z-index: 1000000 !important;
background-color: white !important;
border-radius: 4px !important;
box-shadow: 0 0 10px rgba(0,0,0,0.15) !important;
}
/* Ensure the status button stays visible */
button[kind="formSubmit"] {
visibility: visible !important;
display: inline-flex !important;
}
</style>
""", unsafe_allow_html=True)
# Your regular Streamlit app content
st.title("App with Fixed Status Widget")
st.write("Scroll down to test if the status widget stays fixed")
# Generate content for scrolling
for i in range(30):
st.write(f"Testing content line {i}")
if i % 10 == 0:
st.markdown("### Section Break")
# --- SHARED ON ALL PAGES ---
st.logo(image="images/menu_book_60dp_75FBFD.png")
st.sidebar.title("SBS V2.0 mapper")
st.sidebar.subheader("(work in progress)")
st.sidebar.text("Demo by JA-RAD")
# --- PAGE SETUP ---
type_text_page = st.Page(
page="pages/type_text.py",
title="DEMO (work in progress)",
icon=":material/keyboard:",
default=True,)
# --- NAVIGATION SETUP ---
pg = st.navigation(pages=[type_text_page]) # WITHOUT SECTIONS
#pg = st.navigation({"Chapter_Index": [start_page], "Demo": [type_text_page, upload_file_page], "About": [about_page]}) # WITH SECTIONS
pg.run() |