Files
co_app/app/main.py
2025-12-10 22:52:22 +01:00

61 lines
1.8 KiB
Python

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()