46 lines
1.5 KiB
Python
46 lines
1.5 KiB
Python
|
|
import streamlit as st
|
|
from auth_runtime import require_login
|
|
from ui.sidebar import build_sidebar, hide_sidebar_if_logged_out
|
|
from auth import get_fullname_for_user
|
|
|
|
hide_sidebar_if_logged_out()
|
|
|
|
st.set_page_config(page_title="Co-App Home", page_icon="🏠")
|
|
|
|
authenticator = require_login()
|
|
st.session_state["authenticator"] = authenticator
|
|
|
|
build_sidebar()
|
|
|
|
def render(username: str, role: str):
|
|
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}**.")
|
|
|