Files
daily-counter/app/themes.py
John Ahlroos a88d1b4e79
Some checks failed
Run Tests / run-tests (push) Failing after 39s
Add theme selector
2026-04-30 21:31:19 +02:00

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)