import numpy as np import streamlit as st from .streamlit_utils import SessionState session_state = SessionState.get(page=1) def main(): # Render the readme as markdown using st.markdown. readme_text = st.markdown(''' # Instructions Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vel lorem tincidunt, congue orci id, pretium augue. Curabitur facilisis malesuada justo. Sed tincidunt metus sed arcu blandit efficitur. Vestibulum ut neque sed diam dapibus imperdiet id sit amet ante. In in sollicitudin est, ut bibendum lectus. Curabitur posuere cursus dui. Nullam interdum eu nunc ac bibendum. Etiam id dolor laoreet nulla euismod tristique. Nulla mollis condimentum auctor. Mauris ut diam ante. Maecenas at mauris vulputate, hendrerit erat in, viverra libero. Nulla viverra lacus vitae urna hendrerit fringilla. Aliquam pharetra justo vitae neque semper, a consequat lorem varius. ''') # Add a selector for the app mode on the sidebar. st.sidebar.title("What to do") app_mode = st.sidebar.selectbox( "Choose the app mode", ["Instructions", "Show paginated content"] ) if app_mode == "Instructions": st.sidebar.success('To continue select an option in the dropdown menu.') elif app_mode == "Show paginated content": readme_text.empty() prev_page = st.button('prev') if prev_page: session_state.page -= 1 next_page = st.button('next') if next_page: session_state.page += 1 st.write(f'page: {session_state.page}') load_data(page=session_state.page) def load_data(page=1): data = np.arange(1, 100) page = max(page, 1) per_page = 10 start = (page - 1) * per_page end = page * per_page results = data[start:end] for i in results: st.subheader(i) st.text('Lorem ipsum dolor sit amet, consectetur adipiscing elit.') if __name__ == "__main__": main()