File size: 3,378 Bytes
25eb2b4 3a2e61d 53dcb25 7b883db 3a2e61d 7b883db 3a2e61d 866bcb2 3a2e61d 7b883db 3a2e61d 7b883db 3a2e61d f93ba69 3a2e61d f93ba69 3a2e61d 1c7dd78 866bcb2 3a2e61d 122a897 7b883db 3a2e61d 7b883db 122a897 f93ba69 3a2e61d 7b883db e97685c 122a897 f93ba69 7b883db f4ae373 f93ba69 f4ae373 f93ba69 7b883db 3a2e61d 7b883db |
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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
import streamlit as st
# No need to import time if not simulating task here
# --- Page Configuration ---
# This sets the title and icon that appear in the default header
st.set_page_config(
page_title="SBS V2.0 mapper", # This title will appear in the fixed header
page_icon=":material/keyboard:", # This icon can also appear in the header
layout="wide" # Optional: Use wide layout
)
# --- Custom CSS for Fixed Default Header ---
st.markdown("""
<style>
/* Make the default Streamlit header fixed at the top */
header {
position: fixed; /* Use fixed positioning for viewport-relative stickiness */
top: 0; /* Position from the top edge */
left: 0; /* Position from the left edge */
width: 100%; /* Span the full width of the viewport */
z-index: 100; /* Ensure the header is above other content */
background-color: rgb(240, 242, 246); /* Match Streamlit's default header background color */
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Optional: Add a subtle shadow */
/* You might need to adjust padding if the default header height changes */
}
/* Add padding to the main content area to prevent it from being hidden behind the fixed header */
/* This targets the main container div below the header and sidebar */
/* You might need to inspect the Streamlit app's HTML structure in your browser
(using developer tools) to find the precise data-testid or class for this div
if "stAppViewContainer" or "stVerticalBlock" doesn't work reliably,
but stAppViewContainer is a common target. */
[data-testid="stAppViewContainer"] {
padding-top: 70px; /* Adjust this value to be slightly more than your header's height */
}
/* Also add padding to the sidebar content */
[data-testid="stSidebar"] {
padding-top: 70px; /* Use the same padding value as the main content */
}
/* If the layout is 'wide', adjust the padding on the main container */
/* This helps keep content aligned if the header has internal padding/margins */
.main .block-container {
padding-top: 1rem; /* Or match default streamlit content padding */
}
</style>
""", unsafe_allow_html=True)
# --- App Content (will scroll below the fixed header) ---
# The logo placed here will likely appear in the sidebar or main body,
# not in the fixed default header. Use st.set_page_config for the header icon.
st.logo(image="images/menu_book_60dp_75FBFD.png")
st.sidebar.header("SBS V2.0 mapper")
st.sidebar.write("(work in progress)")
st.sidebar.text("Demo by JA-RAD")
# Note: st.title and st.subheader here will appear *below* the fixed header,
# as they are part of the main app content flow.
st.title("Map descriptions to SBS codes with Sentence Transformer + Reasoning")
st.subheader("Select specific Chapter for quicker results")
# --- NAVIGATION SETUP ---
# Keep your existing navigation setup
type_text_page = st.Page(
page="pages/type_text.py",
title="DEMO (work in progress)",
icon=":material/keyboard:",
default=True,
)
pg = st.navigation(pages=[type_text_page]) # WITHOUT SECTIONS
pg.run()
# Add some extra content to make the page scrollable for testing
for i in range(100): # Increased lines to ensure sufficient scrolling
st.write(f"This is scrollable content line {i}")
|