File size: 1,466 Bytes
933e245 bb3b8c0 933e245 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | import pandas as pd
import streamlit as st
def login():
st.title("π Login Sistem")
username = st.text_input("Username")
password = st.text_input("Password", type="password")
if st.button("Login"):
if username == "admin" and password == "1234":
st.session_state["login"] = True
st.success("Login berhasil β
")
else:
st.error("Username atau Password salah!")
def dashboard():
st.title("π Dashboard Space Management - Sports & Health")
if "data" not in st.session_state:
st.session_state["data"] = pd.DataFrame({
"ID": [1, 2, 3],
"Nama File": ["Laporan_A.xlsx", "Proposal_B.docx", "Data_C.csv"],
"Status": ["Menunggu", "Menunggu", "Menunggu"]
})
st.subheader("π Master Data")
st.dataframe(st.session_state["data"])
pilihan = st.selectbox("Pilih File untuk Approve/Tolak",
st.session_state["data"]["Nama File"])
aksi = st.radio("Aksi", ["Setujui", "Tolak"])
if st.button("Update Status"):
idx = st.session_state["data"].index[
st.session_state["data"]["Nama File"] == pilihan
][0]
st.session_state["data"].at[idx, "Status"] = aksi
st.success(f"File '{pilihan}' berhasil diupdate menjadi {aksi}")
if "login" not in st.session_state:
st.session_state["login"] = False
if st.session_state["login"]:
dashboard()
else:
login()
|