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