import streamlit as st import logging from logging_config import setup_logging from version import __version__ from auth import get_role_for_user, get_fullname_for_user, get_sidebar from auth_runtime import require_login from ui.sidebar import build_sidebar import os from app_db.app_db import get_list from pathlib import Path from tools.load_css import load_css APP_ENV = os.environ.get("APP_ENV", "dev") logger = setup_logging(APP_ENV) logger = logging.getLogger(__name__) load_css() def main(): st.set_page_config( page_title=f"Co-App Home - V{__version__}", page_icon="🔒", layout="centered", menu_items=None, ) authenticator = require_login() #-------------------------------------------------------------------------------- # Ab hier ist Benutzer angemeldet!! #-------------------------------------------------------------------------------- # Alles was man so braucht in der App wird in session_state abgelegt # zuerst den authenticator holen ... st.session_state["authenticator"] = authenticator # ... dann ist der name des users in der sesstion_state verfügbar! # Ich suche mir erst mal alles zusammen, was ich dann in session_state speichern will ... username = st.session_state.get("name") # wird duch authenticator gesetzt role_text = get_role_for_user(username) fullname = get_fullname_for_user(username) sidebar = get_sidebar(role_text, username) # ... und lege es dann im session_state ab. st.session_state["role_text"] = role_text st.session_state["fullname"] = fullname st.session_state["df_sidebar"] = sidebar build_sidebar() st.header("Controlling-Portal") st.info(f"Willkommen, {st.session_state.get('username')}!") st.text("Hier könnte eine Nachricht für den Benutzer stehen") if __name__ == "__main__": main()