import streamlit as st from auth_runtime import require_login from ui.sidebar import build_sidebar from auth import create_user from pathlib import Path from tools.load_css import load_css DASH_NAME = Path(__file__).stem # Hier muss die dash_id aus der DB stehen -> wird gegen die session_state geprüft (User-Berechtigung) load_css() st.set_page_config(page_title="Co-App Benutzer", page_icon="🏠") authenticator = require_login() st.session_state["authenticator"] = authenticator def sidebar(): fullname = st.session_state.get("fullname") role_text = st.session_state.get("role_text") with st.sidebar: st.logo("app/images/GMN_Logo_neu_rgb.png", size="small") st.markdown(f"**{fullname}** ({role_text})") col1, col2, col3 = st.columns([2,2,1]) # with col1: # if st.button("Logout", use_container_width=True): # st.rerun() with col1: authenticator.logout("Logout") # st.rerun() # if st.button("Home", use_container_width=True): # st.switch_page("pages/home.py") with col2: if st.button("🏠 Home", use_container_width=True): st.switch_page("pages/home.py") user() def user(): st.header("Benutzerverwaltung") if __name__ == "__main__": sidebar() # username = st.session_state.get("username") # df = st.session_state.get("df_sidebar") # if check(df,DASH_NAME) == False: # st.markdown("**FEHLER**") # st.error("Die Seite kann nicht angezeigt werden - keine Berechtigung!") # st.stop() # df = st.session_state.get("df_sidebar") # st.text(DASH_NAME) # st.text(st.session_state.get(username)) # print(df) # st.title("Benutzerverwaltung") # with st.expander("Neuen Nutzer anlegen"): # new_u = st.text_input("Neuer Username", key="new_u") # new_fname = st.text_input("Vorname", key="new_fname") # new_lname = st.text_input("Nachname", key="new_lname") # new_email = st.text_input("E-Mail", key="new_email") # new_p = st.text_input("Neues Passwort", type="password", key="new_p") # new_role = st.selectbox("Rolle", ["user", "admin"], key="new_role") # if st.button("Anlegen"): # if new_u and new_p: # ok = create_user( # new_u.strip(), # new_p, # new_role, # new_email.strip() or None, # new_fname.strip() or None, # new_lname.strip() or None, # ) # st.success("Nutzer angelegt.") if ok else st.error( # "Username bereits vorhanden oder Fehler." # ) # else: # st.warning("Bitte Username und Passwort eingeben.") # st.subheader("Dein Bereich") # st.write(f"Personalisierter Content für **{username}**.")