|
import streamlit as st |
|
|
|
for k, v in st.session_state.items(): |
|
st.session_state[k] = v |
|
|
|
|
|
|
|
|
|
st.logo(image="images/menu_book_60dp_75FBFD.png") |
|
|
|
|
|
start_page = st.Page( |
|
page="pages/chapter_index.py", |
|
title="Saudi Billing System Chapter Index", |
|
icon=":material/home:", |
|
default=True,) |
|
|
|
type_text_page = st.Page( |
|
page="pages/type_text.py", |
|
title="DEMO type text", |
|
icon=":material/keyboard:", |
|
default=False,) |
|
|
|
upload_file_page = st.Page( |
|
page="pages/upload_file.py", |
|
title="DEMO upload file (not yet active)", |
|
icon=":material/file_upload:", |
|
default=False,) |
|
|
|
about_page = st.Page( |
|
page="pages/about.py", |
|
title="About the app", |
|
icon=":material/info:", |
|
default=False) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pg = st.navigation(pages=[start_page, type_text_page, upload_file_page, about_page]) |
|
|
|
pg.run() |
|
|
|
st.sidebar.text("Project by JA-RAD") |
|
|
|
def filter_chapters_env(df, chapter_column_name): |
|
chapter_names = st.sidebar.multiselect( |
|
label="Chapter Name", options=df[chapter_column_name].unique(), default=st.session_state.get("chapter_names"), key='filter_chapters', on_change=update_chapters |
|
) |
|
st.session_state["chapter_names"] = chapter_names |
|
|
|
if chapter_names: |
|
df = df[df["chapter_name"].isin(chapter_names)] |
|
return df |
|
|
|
def update_chapters(): |
|
st.session_state["chapter_names"] = st.session_state.filter_chapters |