import streamlit as st import queries.crud as crud import themes as th from user import is_logged_in, is_login_enabled st.title("Settings") if hasattr(st.session_state, 'user_name') and st.session_state.user_name: st.markdown(f"Currently logged in as **{st.session_state.user_name}**") st.header("Theme") themes = st.session_state.themes with st.container(horizontal=True, width="stretch"): for theme in themes.keys(): if st.button(label=themes[theme]["button_face_label"], icon = themes[theme]["button_face_icon"], disabled = (theme == st.session_state.current_theme), width = "stretch"): th.change_theme(theme) st.rerun() st.header("Colors") with st.container(key="settings-color-selector"): palettes = crud.get_color_palettes() selected = crud.get_color_palette() for palette in palettes.iterrows(): id = palette[1]['id'] name = palette[1]['name'] color1 = palette[1]['color1'] color2 = palette[1]['color2'] color3 = palette[1]['color3'] color4 = palette[1]['color4'] if selected == id: with st.container(horizontal=True, key=f"settings-color-selector-selected"): st.button(f"{name} **(selected)**", disabled=True, width="stretch", icon=":material/radio_button_checked:") st.html(f"""         """, width=400) else: with st.container(horizontal=True): if st.button(f"{name}", width="stretch", icon=":material/radio_button_unchecked:"): crud.set_color_palette(id) st.rerun() st.html(f"""         """, width=400) if is_login_enabled(): st.header("Actions") with st.container(): if is_logged_in(): if st.button("Logout", icon=":material/logout:", width="stretch"): st.logout()