Ath103 commited on
Commit
34f795a
·
verified ·
1 Parent(s): 368493c

Update src/streamlit_app.py

Browse files
Files changed (1) hide show
  1. src/streamlit_app.py +46 -15
src/streamlit_app.py CHANGED
@@ -2,22 +2,53 @@ import streamlit as st
2
  import google.generativeai as genai
3
  import os
4
 
5
- # Mengambil API Key dari Environment Variable (Secret)
6
- api_key = os.getenv("GK")
 
 
 
 
7
 
8
- if not api_key:
9
- st.error("API Key belum disetting di Secrets!")
10
- else:
11
- genai.configure(api_key=api_key)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
 
13
- st.title("Bot Gemini Gratisan")
 
14
 
15
- user_input = st.text_input("Tanya sesuatu:")
 
16
 
17
- if st.button("Kirim"):
18
- try:
19
- model = genai.GenerativeModel('gemini-2.5-flash')
20
- response = model.generate_content(user_input)
21
- st.write(response.text)
22
- except Exception as e:
23
- st.error(f"Error: {e}")
 
2
  import google.generativeai as genai
3
  import os
4
 
5
+ # --- BAGIAN AUTHENTICATION SEDERHANA ---
6
+ def check_password():
7
+ """Mengembalikan True jika user memasukkan password yang benar."""
8
+ # Jika password belum diset di Secrets, anggap tidak perlu password (untuk dev)
9
+ if "APP_PASSWORD" not in os.environ:
10
+ return True
11
 
12
+ def password_entered():
13
+ if st.session_state["password"] == os.environ["APP_PASSWORD"]:
14
+ st.session_state["password_correct"] = True
15
+ del st.session_state["password"] # Hapus password dari session demi keamanan
16
+ else:
17
+ st.session_state["password_correct"] = False
18
+
19
+ if "password_correct" not in st.session_state:
20
+ # Tampilan Input Password Pertama Kali
21
+ st.text_input(
22
+ "Masukkan Password untuk Mengakses Bot:",
23
+ type="password",
24
+ on_change=password_entered,
25
+ key="password"
26
+ )
27
+ return False
28
+ elif not st.session_state["password_correct"]:
29
+ # Jika password salah
30
+ st.text_input(
31
+ "Password Salah. Coba lagi:",
32
+ type="password",
33
+ on_change=password_entered,
34
+ key="password"
35
+ )
36
+ return False
37
+ else:
38
+ # Password Benar
39
+ return True
40
+
41
+ # --- KODE UTAMA APLIKASI ---
42
+ if check_password():
43
+ # Taruh semua kode aplikasi Gemini Anda di bawah sini (indentasi masuk)
44
 
45
+ api_key = os.getenv("GEMINI_API_KEY")
46
+ genai.configure(api_key=api_key)
47
 
48
+ st.title("🤖 Bot Privat Saya")
49
+ st.success("Login Berhasil!")
50
 
51
+ user_input = st.text_input("Tanya Gemini:")
52
+ if user_input:
53
+ # Logika chat...
54
+ st.write(f"Menjawab: {user_input}...")