| 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}...") |