61 lines
1.8 KiB
Python
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() |