37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
import streamlit as st
|
|
from queries import crud
|
|
|
|
def init_themes():
|
|
|
|
if 'themes' not in st.session_state:
|
|
st.session_state.themes = {
|
|
"dark": {
|
|
"theme.base": "dark",
|
|
"theme.backgroundColor": "black",
|
|
"theme.primaryColor": "#c98bdb",
|
|
"theme.secondaryBackgroundColor": "#5591f5",
|
|
"theme.textColor": "white",
|
|
"button_face_label": "Dark",
|
|
"button_face_icon": ":material/dark_mode:"
|
|
},
|
|
"light": {
|
|
"theme.base": "light",
|
|
"theme.backgroundColor": "white",
|
|
"theme.primaryColor": "#5591f5",
|
|
"theme.secondaryBackgroundColor": "#82E1D7",
|
|
"theme.textColor": "#0a1464",
|
|
"button_face_label": "Light",
|
|
"button_face_icon": ":material/light_mode:"
|
|
},
|
|
}
|
|
|
|
if 'current_theme' not in st.session_state:
|
|
st.session_state.current_theme = 'light'
|
|
change_theme('light')
|
|
|
|
def change_theme(theme):
|
|
crud.set_theme(theme)
|
|
for key, val in st.session_state.themes[theme].items():
|
|
if key.startswith("theme"):
|
|
st._config.set_option(key, val)
|