File size: 1,735 Bytes
bda69cb
b8703aa
 
 
34f795a
 
 
 
 
 
b8703aa
34f795a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b8703aa
34f795a
 
b8703aa
34f795a
 
b8703aa
34f795a
 
 
 
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
46
47
48
49
50
51
52
53
54
import streamlit as st
import google.generativeai as genai
import os

# --- BAGIAN AUTHENTICATION SEDERHANA ---
def check_password():
    """Mengembalikan True jika user memasukkan password yang benar."""
    # Jika password belum diset di Secrets, anggap tidak perlu password (untuk dev)
    if "APP_PASSWORD" not in os.environ:
        return True

    def password_entered():
        if st.session_state["password"] == os.environ["APP_PASSWORD"]:
            st.session_state["password_correct"] = True
            del st.session_state["password"]  # Hapus password dari session demi keamanan
        else:
            st.session_state["password_correct"] = False

    if "password_correct" not in st.session_state:
        # Tampilan Input Password Pertama Kali
        st.text_input(
            "Masukkan Password untuk Mengakses Bot:", 
            type="password", 
            on_change=password_entered, 
            key="password"
        )
        return False
    elif not st.session_state["password_correct"]:
        # Jika password salah
        st.text_input(
            "Password Salah. Coba lagi:", 
            type="password", 
            on_change=password_entered, 
            key="password"
        )
        return False
    else:
        # Password Benar
        return True

# --- KODE UTAMA APLIKASI ---
if check_password():
    # Taruh semua kode aplikasi Gemini Anda di bawah sini (indentasi masuk)
    
    api_key = os.getenv("GEMINI_API_KEY")
    genai.configure(api_key=api_key)
    
    st.title("🤖 Bot Privat Saya")
    st.success("Login Berhasil!")
    
    user_input = st.text_input("Tanya Gemini:")
    if user_input:
        # Logika chat...
        st.write(f"Menjawab: {user_input}...")