Add theme selector
Some checks failed
Run Tests / run-tests (push) Failing after 39s

This commit is contained in:
2026-04-30 21:31:19 +02:00
parent 8ae8bc7a24
commit a88d1b4e79
11 changed files with 143 additions and 38 deletions

36
app/themes.py Normal file
View File

@@ -0,0 +1,36 @@
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)