import streamlit as st import mysql.connector import os def get_image_as_base64(image_path): import base64 with open(image_path, "rb") as img_file: return base64.b64encode(img_file.read()).decode("utf-8") st.markdown(""" """, unsafe_allow_html=True) def navbar(): current_page = st.session_state["page"] print("Navbar current page:", repr(current_page)) logo_path = os.path.join(os.path.dirname(__file__), "../asset/logo.png") if current_page == "Home": return # Tidak perlu menampilkan navbar di Home jika tidak diinginkan st.markdown(""" """, unsafe_allow_html=True) col1, col2 = st.columns([11, 1]) with col1: st.markdown(f"""
", unsafe_allow_html=True) # Fungsi untuk koneksi ke database def connect_to_db(): try: conn = mysql.connector.connect( host=st.secrets["mysql"]["host"], user=st.secrets["mysql"]["user"], password=st.secrets["mysql"]["password"], database=st.secrets["mysql"]["dbname"], port=st.secrets["mysql"]["port"] ) st.success("Koneksi ke database berhasil!") return conn except mysql.connector.Error as e: st.error(f"Koneksi ke database gagal: {e}") return None # Fungsi untuk validasi login def validate_login(username, password): conn = connect_to_db() if conn: cursor = conn.cursor(dictionary=True) query = "SELECT * FROM user WHERE username = %s AND password = %s" cursor.execute(query, (username, password)) user = cursor.fetchone() conn.close() return user return None def show_login(): navbar() st.markdown(""" """, unsafe_allow_html=True) username = st.text_input("Username", placeholder="Masukkan username") password = st.text_input("Password", type="password", placeholder="Masukkan password") if st.button("Login", key="login_button"): user = validate_login(username, password) if user: st.session_state['logged_in'] = True st.session_state['role'] = user['role'].lower() st.session_state['username'] = user['username'] st.rerun() else: st.error("Username atau password salah.") st.markdown('', unsafe_allow_html=True) st.markdown('', unsafe_allow_html=True) st.markdown( """ """, unsafe_allow_html=True ) def main(): if 'logged_in' not in st.session_state: st.session_state['logged_in'] = False st.session_state['role'] = None st.session_state['username'] = None if st.session_state['logged_in']: role = st.session_state['role'] if role == 'admin': st.switch_page("pages/Prediksi.py") elif role == 'karyawan': st.switch_page("pages/Form_Kepuasan.py") elif role == 'pimpinan': st.switch_page("pages/Form_Penilaian.py") else: show_login() if __name__ == "__main__": main()